为什么它的长度是8
来源:百度知道 编辑:UC知道 时间:2024/06/18 23:15:47
struct ABC1 { char a, b; char d; long c; };
最长的是long c,4个字节,总共应是4*3=12个字节呀,为什么教程说是8字节呢
但是struct ABC2 { char a, b; long c; char d; };又是12字节,为什么
没人知道吗
最长的是long c,4个字节,总共应是4*3=12个字节呀,为什么教程说是8字节呢
但是struct ABC2 { char a, b; long c; char d; };又是12字节,为什么
没人知道吗
你是问哪个所占空间的字节数啊??要是你定义的结构体变量, 是所有变量加起来的总的字节数, char占一个字节,long 占4个字节,才7个字节
long是4个字节,3个char3个字节,但是后面要补1个字节,以便和long对齐
这样就是8个字节
如果你写成{char a,b;long c;char d;};的话,就是12个字节:a和b一共2个字节,后面2个字节对齐,long 4个字节,c1个字节,后面3个字节对齐
如果写成{long c;char a,b;char d;};的话,也是8个字节
对齐是跟最长的那个对齐的,如果有double类型的成员,那么要补齐8个字节
{char a;double b;cha c;};就要24个字节
{char a;char b;double c;};就是16个字节
对齐不对齐和编译器有关
其实表面上是7个字节
但如果用sizeof来计算的话,就有可能是8了,
这可能看起来觉得不对,但就是这样的
好像它要是4的倍数的,
你们可以自己试试的...
对于你的第二个问题,应该要看你机器里long的大小了
反正结构体大小好像要是4的倍数的,
问过老师,他们也讲不清
char 是1字节
蜡烛每分钟燃烧掉的长度一定,8分钟后,长度是12厘米,18分钟后长度是7厘米。它最初的长度是多少厘米?
为什么纬线圈长度是赤道周长与它度数的cos的乘积?
毫米是长度单位,为什么它用来形容雨量大小呢?
ARP分组的长度为什么是固定的?
为什么同样是串行通信,usb线长度最大为5米,而网线比它的速度还快,却可以长达几十米上百米?
为什么马拉松的标准长度是42千米195米?
马拉松赛跑的标准长度为什么是42千米195米
sql2000中 text数据类型的长度为什么只能是16
蜡烛每分钟燃烧掉的长度一定,8分钟后,长度是12厘米,18分钟后长度是7厘米。蜡烛最初的长度是多少厘米?
什么是玻璃钢梯子它的长度是多少