就是说,该结构体最终所占字节大小,是这个单位的整数倍
无论是那种环境,double型变量,占8字节。
所谓的起始内存单元,是结构体内该元素,相对结构体首地址的位置。
- typedef struct user{
- char c;
- short s;
- int a;
- }user;
-
-
-
- user *u1 =(user*)malloc(sizeof(user));
-
- printf("u1- %p\n char -%p\n short -%p\n int -%p\n",u1,&(u1->c),&(u1->s),&(u1->a));
-
结果:

- struct stu{
- int num;
- int age;
- }lucy;
- 8字节
-
- struct stu{
- char sex;
- int age;
- }lucy;
- 8字节
-
- struct stu{
- char a;
- short int b;
- int c;
- }temp;
- 8字节
-
- struct stu{
- char a;
- int c;
- short int b;
- }temp;
- 12字节
-
- struct stu{
- char buf[10];
- int a;
- }temp;
- 16字节
-
-
- struct stu{
- char a;
- double b;
- };
- 12字节