|
-
在数组一章中,曾介绍过数组的长度是预先定义好的,在整个程序中固定不变。C语言中不允许动态数组类型。例如: int n; scanf("%d",&n); int a[n];用变量表示长度,想对数组的大小作动态说明,这是错误的。但是在实际的编程中,往往会发生这种情况,即所需的内存空间取决于实…
发布日期:2013-11-05 22:55:40
-
在ANSI C标准中允许用结构变量作函数参数进行整体传送。但是这种传送要将全部成员逐个传送,特别是成员为数组时将会使传送的时间和空间开销很大,严重地降低了程序的效率。因此最好的办法就是使用指针,即用指针变量作函数参数进行传送。这时由实参传向形参的只是地址,从而减少了时间和空间的开销。【例11.7】计算一组学生的平均成绩和不及格人数。用结构指针变量作函数参数编程。struct stu{ &nb;…
发布日期:2013-11-05 22:55:23
-
指针变量可以指向一个结构数组,这时结构指针变量的值是整个结构数组的首地址。结构指针变量也可指向结构数组的一个元素,这时结构指针变量的值是该结构数组元素的首地址。设ps为指向结构数组的指针变量,则ps也指向该结构数组的0号元素,ps+1指向1号元素,ps+i则指向i号元素。这与普通数组的情况是一致的。【例11.6】用指针变量输出结构数组。struct stu{ i…
发布日期:2013-11-05 22:55:07
-
一个指针变量当用来指向一个结构变量时,称之为结构指针变量。结构指针变量中的值是所指向的结构变量的首地址。通过结构指针即可访问该结构变量,这与数组指针和函数指针的情况是相同的。结构指针变量说明的一般形式为: struct 结构名 *结构指针变量名例如,在前面的例题中定义了stu这个结构,如要说明一个指向stu的指针变量pstu,可写为: &nbs;…
发布日期:2013-11-05 22:54:48
-
数组的元素也可以是结构类型的。因此可以构成结构型数组。结构数组的每一个元素都是具有相同结构类型的下标结构变量。在实际应用中,经常用结构数组来表示具有相同数据结构的一个群体。如一个班的学生档案,一个车间职工的工资表等。方法和结构变量相似,只需说明它为数组类型即可。例如:struct stu { &…
发布日期:2013-11-05 22:54:31
-
和其他类型变量一样,对结构变量可以在定义时进行初始化赋值。【例11.2】对结构变量初始化。main(){ struct stu /*定义结构*/ { int num; ch…
发布日期:2013-11-05 22:54:10
-
结构变量的赋值就是给各成员赋值。可用输入语句或赋值语句来完成。【例11.1】给结构变量赋值并输出其值。main(){ struct stu { int num; char *name; &…
发布日期:2013-11-05 22:53:56
-
在程序中使用结构变量时,往往不把它作为一个整体来使用。在ANSI C中除了允许具有相同类型的结构变量相互赋值以外,一般对结构变量的使用,包括赋值、输入、输出、运算等都是通过结构变量的成员来实现的。表示结构变量成员的一般形式是: 结构变量名.成员名例如: boy1.num &…
发布日期:2013-11-05 22:53:37
-
说明结构变量有以下三种方法。以上面定义的stu为例来加以说明。一、先定义结构,再说明结构变量。如:struct stu { int num; char name[20]; &nb;…
发布日期:2013-11-05 22:53:17
-
在实际问题中,一组数据往往具有不同的数据类型。例如,在学生登记表中,姓名应为字符型;学号可为整型或字符型;年龄应为整型;性别应为字符型;成绩可为整型或实型。显然不能用一个数组来存放这一组数据。因为数组中各元素的类型和长度都必须一致,以便于编译系统处理。为了解决这个问题,C语言中给出了另一种构造数据类型——“结构(structure)”或叫“结构体”。 它相当于其它高级语言中的记录。“结构”是一种构造类…
发布日期:2013-11-05 22:52:47
|