空结构体
小于 1 分钟
对于c语言
Windows下VS是不允许定义空struct结构体的
Linux/Unix下gcc编译器,空结构体是0
对于c++
无论是vs还是gcc/g++下定义的空结构体大小为1,
为什么c++空类占用内存大小为1
c语言空结构定义变量里面什么都没有,所以为0
c++里不叫变量,而是对象,定义一个变量只需要内存就行,而对象需要内存还要构造函数构造才叫对象,构造函数会生成一个this指针存放对象的起始地址,即c++区别c的在于创建对象需要调用构造函数,生成对象必须要有内存传给this调用构造函数,构造函数才能知道在哪里初始化/构造,因为没有东西因此默认给1字节的内存用于构造对象