[第12期] 它究竟是什么样的(五)
2019-05-10 本文已影响0人
坑儿里的小朕
✌劝学诗 -唐•颜真卿
三更灯火五更鸡,正是男儿读书时。
黑发不知勤学早,白首方悔读书迟。

⭐ 结构体类型
集合:由一个或多个确定的元素构成的整体,数学领域概念。
结构体:由一系列具有相同或不同类型的数据构成的数据集合。
⭐ 结构体定义
-
关键字
struct
-
示例
struct NameInfo { .. };
-
不完整定义
struct NameInfo;
struct { .. };
⭐ 对象定义
-
直接定义
struct NameInfo x;
-
别名关键字
typedef
⭐ 对象初始化
-
部分初始化
使用.
和->
进行处理。 -
其它初始化方式
0
/{ }
/""
/memset函数
/其它拷贝
⭐ 结构体成员获取
-
点运算符
.
- 直接运算符 -
箭头运算符
->
- 间接运算符
⭐ 结构体大小
-
*
字节对齐问题 - 宏与位域(位字段)
#pragma pack( [ show ] | [ push | pop ] [, identifier ] , n )
-
弹性问题 - C99标准
结构体中包含数组类型成员,且数组成员数不定(最后一个成员),分配空间要够用。示例:struct NameInfo{ int a; float arr[] };
-
应用 - 链表
struct NodeInfo{ int v; struct NodeInfo* pNext; };