C语言函数章节知识点梳理 c语言函数大全及详解pdf( 八 )


替换了的字符时(这里为正中间的字符"4"),原来的字符己不复存在 。
第九章 结构体与共用体知识点
结构体类型是C语言的一种构造数据类型,它是多个相关的不同类型数据的集合,相当于其它高级语言中的记录 。
1.结构体类型定义
结构体类型的形式为:
struct结构体类型名
{ 数据类型成员名1;
...
数据类型成员名n;
}
2.结构体变量的定义
结构体变量有三种定义形式:
(1)先定义结构体类型,后定义结构体变量 。
(2)定义结构体类型的同时定义结构体变量 。
(3)不定义结构体类型名,直接定义结构体变量 。
3.结构体变量的引用
(1)结构体变量的初始化:许多C版本规定对外部或静态存储类型的结构体变量可以进行初始化,而对局部的结构体变量则不可以,新标准C无此限制,允许在定义时对自动变量初始化 。
(2)结构体成员的引用:由于C语言一般不允许对结构体变量的整体引用 , 所以对结构体的引用只能是对分量的引用,结构体变量中的任一分量可以表示为:结构体变量名·成员名
4.结构体与数组
C语言中数组的成员可以是结构体变量,结构体变量的成员也可以是数组 。
结构体数组有三种定义形式:
(1)先定义结构体类型,后定义结构体数组 。
(2)定义结构体类型的同时定义结构体数组 。
(3)不定义结构体类型名 , 直接定义结构体变量 。
5.结构体与指针
一方面结构体变量中的成员可以是指针变量,另一方面也可以定义指向结构体的指针变量,指向结构体的指针变量的值是某一结构体变量在内存中的首地址 。
结构体指针的定义形式:struct结构体类型名*结构体指针变量名 。
由结构体指针引用结构体成员的方法
6.用指针处理链表
结构体的成员可以是指针类型,并且这个指针类型就是本结构体类型的,这样可以构造出一种动态数据结构—成为链表 。所谓动态数据就是指在编译时不能确定数据量的多少 , 而是在程序执行时才确定的数据 , 动态数据可以比较方便的进行数据插人或删除等操作 。
7.结构体与函数
结构体变量的成员可以作函数的参数、指向结构体变量的指针也可以作函数的参数 。虽然结构体变量名也可以作为函数的参数,将整个结构体变量进行传递,但一般不这样做,因为如果结构体的成员很多,或者有些成员是数组,则程序运行期间,将全部成员一个一个的传递,既浪费时间,又浪费空间 , 开销太大 。
8.结构体与共用体
结构体变量中的成员可以是共用体,共用体变量中的成员可以是结构体 。
共用体
为了节省存储空间,C语言允许将几种不同类型的数据存放在同一段内存单元 , 它们共用一个起始地址,称做共用体 。
1.共用体类型定义
union共用体类型名
{ 数据类型成员名1;
...
数据类型成员名n;
}
2.共用体变量定义
(1)先定义类型,后定义变量 。
(2)定义类型的同时定义变量 。
(3)不定义类型名,直接定义变量 。
3.共用体变量的引用
(1)共用体变量不能整体引用,只能引用其成员,形式为:共用体变量名·成员名
(2)共用体变量的成员不能初始化,因为它只能放一个数据 。
(3)共用体变量存放的数据是最后放入的数据 。
(4)共用体变量的长度是最大的成员的长度 。
(5)可以引用共用体变量的地址、各个成员的地址,它们都是同一个地址 。

推荐阅读