Vấn đề
Có thể khai báo struct không có thành viên trong C không? Nếu có, kích thước struct đó là bao nhiêu?
Giải pháp
Có, C cho phép khai báo struct không có thành viên. Kích thước của struct rỗng sẽ là 0 (Zero). Đây là struct kích thước zero.
Ví dụ
#include <stdio.h> //struct không thành viên struct temp{ }; int main(){ //khai báo biến struct struct temp T; printf("Size of T: %d\n",sizeof(T)); return 0; }
Kết quả
Chương trình khai báo struct "temp" không có biến thành viên, nên "temp" là struct rỗng. Khai báo biến struct "T" và in kích thước bằng sizeof(), kết quả là "0".
Size of T: 0