Vấn đề
Chúng ta có thể khai báo một cấu trúc không có thành viên nào trong C không, nếu có thì kích thước của cấu trúc đó là bao nhiêu?
Giải pháp
Đúng vậy, trong ngôn ngữ lập trình C được phép khai báo một cấu trúc mà không có bất kỳ thành viên nào và trong trường hợp đó, kích thước của cấu trúc không có thành viên nào sẽ là 0 (Zero). Nó sẽ là một cấu trúc kích thước bằng không.
Ví dụ
#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; }
Đầu ra
Trong chương trình C này, chúng ta đang khai báo một cấu trúc có tên là "temp" mà không khai báo bất kỳ biến nào trong đó, vì vậy "temp" là một cấu trúc không có thành viên nào.
Sau đó, chúng tôi khai báo biến của nó "T" (Biến cấu trúc) và in kích thước bị chiếm bởi "T" bằng cách sử dụng toán tử sizeof () và kết quả là "0".
Size of T: 0