自定义类型——结构体 枚举 联合

自定义类型——结构体 枚举 联合_第1张图片

自定义类型——结构体 枚举 联合_第2张图片 自定义类型——结构体 枚举 联合_第3张图片

自定义类型——结构体 枚举 联合_第4张图片 

 自定义类型——结构体 枚举 联合_第5张图片

自定义类型——结构体 枚举 联合_第6张图片 

 自定义类型——结构体 枚举 联合_第7张图片


自定义类型——结构体 枚举 联合_第8张图片 

 自定义类型——结构体 枚举 联合_第9张图片

 自定义类型——结构体 枚举 联合_第10张图片

 

 自定义类型——结构体 枚举 联合_第11张图片

 错误代码:

重命名前不能使用

自定义类型——结构体 枚举 联合_第12张图片

自定义类型——结构体 枚举 联合_第13张图片 

例:

自定义类型——结构体 枚举 联合_第14张图片 

 自定义类型——结构体 枚举 联合_第15张图片

两种写法:

自定义类型——结构体 枚举 联合_第16张图片 

自定义类型——结构体 枚举 联合_第17张图片 

 自定义类型——结构体 枚举 联合_第18张图片

 结果不是你所想的6and6,而是12和8!

offsetof:该宏用于求结构体中一个成员在该结构体中的偏移量

自定义类型——结构体 枚举 联合_第19张图片

宏 头文件 

 自定义类型——结构体 枚举 联合_第20张图片

自定义类型——结构体 枚举 联合_第21张图片 

 

 自定义类型——结构体 枚举 联合_第22张图片

自定义类型——结构体 枚举 联合_第23张图片


 

自定义类型——结构体 枚举 联合_第24张图片 自定义类型——结构体 枚举 联合_第25张图片

自定义类型——结构体 枚举 联合_第26张图片 

为什么要内存对齐?

自定义类型——结构体 枚举 联合_第27张图片 

自定义类型——结构体 枚举 联合_第28张图片 

 自定义类型——结构体 枚举 联合_第29张图片

 如何设置默认对齐数?

 自定义类型——结构体 枚举 联合_第30张图片

 自定义类型——结构体 枚举 联合_第31张图片


结构体传参

自定义类型——结构体 枚举 联合_第32张图片 

 上为传值&传址

传址不浪费空间 更优

自定义类型——结构体 枚举 联合_第33张图片

 

那么传值是更安全吗?不,传址也可以利用const使其安全

自定义类型——结构体 枚举 联合_第34张图片

 

 (不排除编译器自身的优化:即使传值也可能地址相同哦)

你可能感兴趣的:(c语言)