好多的基本知识过一段时间就糊涂了,做一下总结
enum data
{
A,B,C,D,E
}mydata;
mydata 只能被枚举值(常量)赋值, mydata=A;
sizeof(data)=4;整形类型
--------------------------------------------------------
union data
{
int i;
char c;
double d;
}mydata;
mydata.i=1; mydata.c='c'; mydata.d=3.14;
只有最后一个赋值语句有效,因为各个数据成员的在内存中的地址相同
sizeof(mydata)=8 类型长度最大的数据成员
----------------------------------------------------------
struct data
{
int i;
char c;
double d;
} mydata;
mydata.i=1;mydata.c='c';mydata.d=3.14;
各类型数据的聚合,sizeof(mydata)=16;(按照字节对齐方式而定)
空结构体的类型大小为1(vs2008)
-----------------------------------------------------------
class data
{
public:
data():i(0),c('c'),d(3.14){};
~data(){};
int i;
char c;
double d;
};
data mydata();
sizeof(mydata)=16;字节对齐
空类的大小为1;(vs2008)