ปัญหา
เราสามารถประกาศโครงสร้างที่ไม่มีสมาชิกในภาษา 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