Cでは空の構造体のサイズが0になるからだろ
C++は仮想関数などポインタに入れて使う使い方もあるので
(もっともvtableなどで元々0ではないかもしれないが)空の
構造体やクラスでも0にはならないように設計されている