结构体变量的内存结构

 在C语言中,在默认情况下,编译器规定各成员变量存放的起始地址相对于结构的起始地址的偏移量必须为该变量的类型所占用的字节的倍数。

例如:

struct MyStruct {

double ddal;

char dda;

int type;

};

得到的结果为:16

 所以,在计算结构体变量的大小时:

 ①上面的所有字节数的总和,必须是下一个类型的整数倍数。

 ②总字节数一定是最大类型的整数倍。

 

例题:

char a;

double b;

int e;

得:20

 

 

 

posted @ 2015-07-21 19:05  三个圈  阅读(356)  评论(0编辑  收藏  举报