好的资料!
(1)结构体变量的初始化:许多C版本规定对外部或静态存储类型的结构体变量可以进行初始化,而对局部的结构体变量则不可以,新标准C无此限制,允许在定义时对自动变量初始化。
(2)结构体成员的引用:由于C语言一般不允许对结构体变量的整体引用,所以对结构体的引用只能是对分量的引用,结构体变量中的任一分量可以表示为:结构体变量名·成员名 4.结构体与数组
C语言中数组的成员可以是结构体变量,结构体变量的成员也可以是数组。 结构体数组有三种定义形式:
(1)先定义结构体类型,后定义结构体数组。 (2)定义结构体类型的同时定义结构体数组。 (3)不定义结构体类型名,直接定义结构体变量。 5.结构体与指针
一方面结构体变量中的成员可以是指针变量,另一方面也可以定义指向结构体的指针变量,指向结构体的指针变量的值是某一结构体变量在内存中的首地址。 结构体指针的定义形式:struct结构体类型名*结构体指针变量名。 由结构体指针引用结构体成员的方法 6.用指针处理链表
结构体的成员可以是指针类型,并且这个指针类型就是本结构体类型的,这样可以构造出一种动态数据结构—成为链表。所谓动态数据就是指在编译时不能确定数据量的多少,而是在程序执行时才确定的数据,动态数据可以比较方便的进行数据插人或删除等操作。 7.结构体与函数
结构体变量的成员可以作函数的参数、指向结构体变量的指针也可以作函数的参数。虽然结构体变量名也可以作为函数的参数,将整个结构体变量进行传递,但一般不这样做,因为如果结构体的成员很多,或者有些成员是数组,则程序运行期间,将全部成员一个一个的传递,既浪费时间,又浪费空间,开销太大。 8.结构体与共用体
结构体变量中的成员可以是共用体,共用体变量中的成员可以是结构体。