标签: c++ c
空结构的大小在C中是0字节但在C ++中是1字节。为什么?有什么区别?
答案 0 :(得分:3)
在C不正确的情况下,如果没有成员,则无法拥有struct。
C
struct
C99 says,
C99 says
如果struct-declaration-list不包含命名成员,则行为未定义。
但是GCC允许您拥有大小为0的无成员结构。 G++将struct视为其中包含char类型的单个成员。
GCC
0
G++
char
请查看以前的SO answering为什么在C ++中,大小为1B。
1B