阿里云最高¥2000限量红包 点击领取 https://promotion.aliyun.com/ntms/yunparter/invite.html?userCode=ooxd1r7n
原则
一:结构体中元素按照定义顺序存放到内存中,但并不是紧密排列。从结构体存储的首地址开始 ,每一个元素存入内存中时,它都会认为内存是以自己的宽度来划分空间的,因此元素存放的位置一定会在自己大小的整数倍上开始。
二: 在原则一的基础上,检查计算出的存储单元是否为所有元素中最宽的元素长度的整数倍。若是,则结束;否则,将其补齐为它的整数倍。
show you my code:
#include<stdio.h>
void main()
{
typedef struct T1{
char x;
}t1;
typedef struct T2{
char x;
int y;
}t2;
typedef struct T3{
char x;
int y;
double z;
}t3;
typedef struct T4{
char x;
double y;
int z;
}t4;
printf(" sizeof(t1) : %lu \n", sizeof(t1) );
printf(" sizeof(t2) : %lu \n", sizeo