在32位处理器中,
int a; sizeof(a)=4;
char a; sizeof(a)=1;
float a; sizeof(a)=4;
double a; sizeof(a)=8;
long a; sizeof(a)=4;
long int a; sizeof(a)=4;
short a; sizeof(a)=2;
在用户自己构造的数据类型数组,结构体,联合体中,
数组:
int a[]={20,2,10}; sizeof(a)=12;
double a[]={20,2,10}; sizeof(a)=24;
结构体:
结构体变量所占存储空间的大小是所有成员之和,但是当考虑对齐方式时,结构体变量所占存储空间的大小不是所有成员之和
1、
struct a
{
int z; //4byte
};
sizeof(struct a)=4;
2、
struct a
{
int z; //4byte
char c; //4byte
};
sizeof(struct a)=8;
3、
struct a
{
char c; //1byte
};
sizeof(struct a)=1;
4、//这个例子便涉及到了字节对齐问题
struct a
{
int z; //4byte
char c; //4byte
double v; //8byte
};
sizeof(struct a)=16;
联合体:
联合体所占存储空间大小取决于联合体中最大数据类型所占的空间的大小
union A
{
int a; //4byte
float b; //4byte
double c; //8byte
};
sizeof(union A)=8;
————————————————
版权声明:本文为CSDN博主「北风lll」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xiaonan153/article/details/79919754