x86的默认值为4字节2113对齐方式,也就是说,如果您申请52611字节的内存,则操作系统将为4字节大的4102小空间分配内存,内部1653内存对齐方式可以使CPU运行得更快. 在这里,如果是char数据;更改为char data [2];字符数据[3];字符数据[4];最受欢迎的sizeof结果是相同的. 或定义更多字符c 计算结构体大小c 计算结构体大小,例如:
typedef结构树
{
字符数据;
char data1;
char data2;
char data3;
结构树* lchild,* rchild;
}树;
或
typedef结构树
{
char数据[4];
结构树* lchild,* rchild;
}树;
效果是一样的
x86下的可寻址性是2到32次方,即32位,并且相应指针的大小也是4个字节,因此它是4 + 4 + 4 = 12.
如果定义字符数据;它是char数据[5];这些数据也会自动对齐,原来4 + 1将变为4 + 4;
在X64的情况下,默认为对齐8个字节,寻址能力变为2的第64次幂,即指针大小为8个字节,最终结果为8 + 8 + 8 = 24;此时,数据大小定义为1到8,最终大小相同.
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-244956-1.html