600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > sizeof计算结构体长度

sizeof计算结构体长度

时间:2018-11-11 11:17:46

相关推荐

sizeof计算结构体长度

sizeof()是一种内存容量度量函数,计算数据(数组、变量、类型、结构体等)所占空间,用字节数表示。

sizeof在计算变量所占的空间大小时所选取的机制:

1.结构体满足的三个条件

结构体的大小等于结构体内最大成员大小的整数倍;

结构体内的成员相对于首地址的偏移量是当前成员大小的整数倍,如有需要会在成员之间填充字节;

(结构体变量的首地址能被其最大成员大小所整除。)

如:

struct A {char a; int b; };

大小1(char)+3(填充)+4(int)=8,sizeof(A)=8

struct B{char a;

A a1;char b;};

大小是1(char)+3(填充)+8(A)+1(char)+3(填充)=16,所以sizeof(B)=16

2.指针

指针实为地址,取决于字长,32位为4字节,64位为8字节,但也与编译器有关。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。