在数组一章中,曾介绍过数组的长度是预先定义好的,在整个程序中固定不变。C语言中不允许动态数组类型。例如:
int n;
scanf("%d",&am……
在ANSI
C标准中允许用结构变量作函数参数进行整体传送。但是这种传送要将全部成员逐个传送,特别是成员为数组时将会使传送的时间和空间开销很大,严重地降低了程序的效率。……
指针变量可以指向一个结构数组,这时结构指针变量的值是整个结构数组的首地址。结构指针变量也可指向结构数组的一个元素,这时结构指针变量的值是该结构数组元素的首地址。
……
一个指针变量当用来指向一个结构变量时,称之为结构指针变量。结构指针变量中的值是所指向的结构变量的首地址。通过结构指针即可访问该结构变量,这与数组指针和函数指针的情况是相同……
数组的元素也可以是结构类型的。因此可以构成结构型数组。结构数组的每一个元素都是具有相同结构类型的下标结构变量。在实际应用中,经常用结构数组来表示具有相同数据结构的一个群体……
和其他类型变量一样,对结构变量可以在定义时进行初始化赋值。
【例11-2】对结构变量初始化。
main(){
……
结构变量的赋值就是给各成员赋值。可用输入语句或赋值语句来完成。
【例11-1】给结构变量赋值并输出其值。
main(){……
在程序中使用结构变量时,往往不把它作为一个整体来使用。在ANSI
C中除了允许具有相同类型的结构变量相互赋值以外,一般对结构变量的使用,包括赋值、输入、输出、运算等都……
说明结构变量有以下三种方法。以上面定义的stu为例来加以说明。
1) 先定义结构,再说明结构变量。
如:
……
在实际问题中,一组数据往往具有不同的数据类型。例如,在学生登记表中,姓名应为字符型;学号可为整型或字符型;年龄应为整型;性别应为字符型;成绩可为整型或实型。显然不能用一个……