在结构声明时,不能给成员变量赋值,结构声明只是声明了一种数据类型,还没有为这个结构申请空间,赋值的数据没有空间保存。
struct A{
}
sizeof(A)
bcb中为8
vc和 g++为1.
之所以空结构有大小,是因为增加了一个属性, struct的地址等于第一个属性的地址,为了区分不同的结构体对象,所以编译器给其增加了一个属性。
在结构声明时,不能给成员变量赋值,结构声明只是声明了一种数据类型,还没有为这个结构申请空间,赋值的数据没有空间保存。
struct A{
}
sizeof(A)
bcb中为8
vc和 g++为1.
之所以空结构有大小,是因为增加了一个属性, struct的地址等于第一个属性的地址,为了区分不同的结构体对象,所以编译器给其增加了一个属性。