Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

การประกาศโครงสร้างที่ไม่มีสมาชิกในภาษาซี


ปัญหา

เราสามารถประกาศโครงสร้างที่ไม่มีสมาชิกในภาษา C ได้ไหม ถ้าใช่ ขนาดของโครงสร้างนั้นจะเป็นอย่างไร

วิธีแก้ปัญหา

ได้ อนุญาตให้ใช้ในภาษาซีโปรแกรมที่เราสามารถประกาศโครงสร้างโดยไม่ต้องมีสมาชิก และในกรณีนั้นขนาดของโครงสร้างที่ไม่มีสมาชิกจะเป็น 0 (ศูนย์) มันจะเป็นโครงสร้างขนาดศูนย์

ตัวอย่าง

#include <stdio.h>
//structure with no members
struct temp{
};
int main(){
   //declaring structure variable
   struct temp T;
   printf("Size of T: %d\n",sizeof(T));
   return 0;
}

ผลลัพธ์

ในโปรแกรม C นี้ เรากำลังประกาศโครงสร้างชื่อ "temp" โดยไม่ต้องประกาศตัวแปรใดๆ ดังนั้น "temp" จึงเป็นโครงสร้างที่ไม่มีสมาชิก

จากนั้น เรากำลังประกาศตัวแปร "T" (ตัวแปรโครงสร้าง) และพิมพ์ขนาดที่ใช้โดย "T" โดยใช้ตัวดำเนินการ sizeof() และผลลัพธ์คือ "0"

Size of T: 0