不管是什么东东,理论是一部分,我个人觉得更重要的一环还是在应用上,所以在这里叙述性的东西比较少,我挑了几个关于结构体重点的部分来学习结构体,对其进行一一举例,我想通过例子,理解起来将会更容易,更准确,更深刻。 1,有关结构体类型 结构体定义的一般形式 struct 结构体名 { 类型数据 成员名1; 类型数据 成员名2; ….... 成员名...; 类型数据 成员名n; };//最后一个分号标志着类型定义的结束 说明:(1)结构体内的成员名不能重名,但可以与结构体之外的同名 (2)结构体类型占用的存储空间的字节数等于所有成员占用存储空间字节数的总和
![]() ![]()
2,结构体变量的引用 引用的一般形式 结构体变量名.成员名 (“.”结构体成员运算符,用来引用结构体变量的成员) 说明:(1)“结构体变量名.成员名”是一个整体,表示一个成员变量 (2)若成员变量本身又是一个结构体变量,只能引用最低一级的成员变量
![]() ![]()
3.结构体数组的引用 一般形式: 数组名[下标]。成员名 例如:
![]() ![]()
4,通过指针变量引用结构体变量 一般形式: (*指针变量名).成员名 或 指针变量名-->成员名 说明:(1)通过指向结构体变量的指针变量,引用结构体变量的成员,就是用“*指针变量名”代替“结构体变量名”。 (2)“->”表示指向结构体成员运算符。 如下,
![]() ![]()
5,结构体指针变量作为函数参数 用结构体类型的指针变量作为函数参数,就是把一个结构体变量的地址传递给函数。 举例如下,
![]() ![]()
![]() ![]()
6,位段结构体 目的:节省存储空间。 定义的一般形式 Struct 结构体名 { 数据类型 位段名 1:长度; 数据类型 位段名 2:长度; ............ …; 数据类型 位段n: 长度;
}; 说明:位段的类型只有 unsigned int 和 int . 举例如下
|
|