When structure is introduced in C, that time there is no concept of Object. So C standard commette(C99) decided to keep zero size of empty structure.

In C++, Size of empty structure/class will be one byte bcoz.

struct Test
void Disp( void );

int main()
Test tObj;
return 0;
To call function atleast empty structure should have some size i.e. one byte. But there is no concept of member function in structure in C.