1. 本章学习内容总结
1.1 学习内容总结
结构体的定义
struct 结构名
{
类型名 结构成员 1;
类型名 结构成员 2;
...
...
} 结构变量名;
结构成员赋值
通过 结构变量名. 结构成员名 进行调用并赋值.
结构体数组排序做法
- #define N 20
- struct my_struct {
- int i;
- char chars[100];
- float f;
- } structs[N];
- struct my_struct *pointers[N];
- int i;
- for (i = 0; i <; i++)
- pointers[i] = &structs[i];
比较时遇到要交换时, 交换数组 pointers 的里面的指针就行了.
结构体指针怎么用
用指针引用结构体变量成员的方式是:
(* 指针变量名). 成员名
注意,*p 两边的括号不可省略, 因为成员运算符 "." 的优先级高于指针运算符 "*", 所以如果 *p 两边的括号省略的话, 那么 *p.num 就等价于 *(p.num) 了.
此外为了使用的方便和直观, 用指针引用结构体变量成员的方式:
(* 指针变量名). 成员名
可以直接用:
指针变量名 -> 成员名
来代替, 它们是等价的."->" 是 "指向结构体成员运算符", 它的优先级同结构体成员运算符 "." 一样高. p->num 的含义是: 指针变量 p 所指向的结构体变量中的 num 成员. p->num 最终代表的就是 num 这个成员中的内容.
共用体做法
区别于结构体, 结构体将不一样的数据类型综合为一类, 变量的大小为各个变量的综合, 定义用 struct.
共用体变量的大小为变量体内最大的内存长度大小, 定义用 union.
枚举类型做法
定义用 enum.
enum color(red=1,blue,black);
这样的话说明 red 为 1,blue 为 2,black 为 3.
文件读写, 文件中数据如何读进结构体数组
定义文件指针并用 fopen 函数打开文件, 然后用 fgets 或 fscanf 来把数据读进结构体数组中.
1.2 本章学习体会
听都听得懂, 手生.
来源: http://www.bubuko.com/infodetail-3333393.html