例如,对一维结构体数组的初始化就类似于普通二维数组的初始化,初始化中的注意事项也与二维普通数组初始化时相同或类似。同样也不能将结构体数组元素作为一个整体直接进行输入输出,也需要通过输入输出数组元素的每一个成员分量达到输入输出结构体数组元素的目的。对结构体数组元素操作的唯一例外是可以将结构体数组元素作为一个整体赋给同类型数组的另外一个元素,或赋给一个同类型的结构体变量。结构体数组操作示例。......
2023-11-20
在定义了结构体变量以后,就可以引用这个变量。但应遵守以下规则:
(1)不能将一个结构体变量作为一个整体进行输入和输出。
在输出结构体数据时只能对结构体变量中的各个成员分别进行输入输出。引用结构体变量中的成员的方式为:
结构体变量名.成员名
例如,student1.num表示student1变量中的num成员,即student1的num项。
可以对变量的成员赋值。例如:
student1.num=10010;
“.”是成员(分量)运算符,它在所有的运算符中优先级最高,因此可以把student1.num作为一个整体来看待。上面的赋值语句的作用是将整数10010赋给student1变量中的成员num。
(2)如果成员本身又是一个结构体类型,则要使用若干个成员运算符,一级一级地找到最低一级的成员。只能对最低的成员进行赋值、存取或运算。
例如,结构体变量student1可以这样访问各成员:
student1.num
student1.birthday.month
注意:不能用student1.birthday来访问student1变量中的成员birthday,因为birthday本身是一个结构体变量。(www.chuimin.cn)
(3)对结构体变量的成员可以像普通变量一样进行各种运算(根据其类型决定可以进行的运算)。
student2.score=student1.score;
sum=student1.score+student2.score;
student1.age++;
++student1.age;
由于“.”运算符的优先级最高,因此student1.age++ 是对student1.age进行自加运算。而不是先对age进行自加运算。
(4)可以引用结构体变量成员的地址,也可以引用结构体变量的地址。
scanf(“%d”,& student1.num);// 输入student1.num的值
printf(“%o”,& student1);// 输出student1的首地址
但不能用以下语句整体读入结构体变量:
scanf("%d,%s,%c,%d,%f,%s",& student1);
结构体变量的地址主要用作函数参数,传递结构体的地址。
有关C语言程序设计 第2版的文章
例如,对一维结构体数组的初始化就类似于普通二维数组的初始化,初始化中的注意事项也与二维普通数组初始化时相同或类似。同样也不能将结构体数组元素作为一个整体直接进行输入输出,也需要通过输入输出数组元素的每一个成员分量达到输入输出结构体数组元素的目的。对结构体数组元素操作的唯一例外是可以将结构体数组元素作为一个整体赋给同类型数组的另外一个元素,或赋给一个同类型的结构体变量。结构体数组操作示例。......
2023-11-20
“struct结构体名”为结构体数据类型名字,使用结构体类型名才能在程序中定义结构体变量。③“数据类型名结构体成员i;”指定了结构体类型中的一个结构体成员,结构体成员必须像以前的变量定义一样进行说明,成员名的命名规则与变量名相同,要符合标识符的命名原则。④结构体类型定义语句是一条完整的C语句,所以结构体类型的声明要用“;”作为结束符。......
2023-11-20
图5.3指针变量指针变量本身也是变量,所以指针变量在使用之前也需要定义。为指针变量赋值的方法有两种:一种是定义后,使用赋值语句的方式;另外一种是定义的同时进行初始化方式。......
2023-11-20
用户自己定义的结构体类型,与系统定义的标准类型一样,是可以用来定义结构体类型的变量。这种方法定义的结构体类型在程序后面不可使用,因为缺少完整的结构体类型名。......
2023-10-21
联合体(共用体)类型定义的一般形式为:联合体类型的定义确定了参与共用存储区域的成员项以及成员项具有的数据类型。定义联合体变量的形式与定义结构体变量完全相似,只是把关键字struct换成union。union联合体名{成员列表;};union联合体名变量列表;·定义联合体类型的同时定义联合体类型变量。例如:有如下语句序列:union test key;key.a=100;key.b=40000.123;那么,联合体变量key中只有一个值,那就是key.b的值。联合体变量作为函数参数。......
2023-11-20
可以采取以下三种方法定义结构体类型变量。例如:struct student student1,student2/*结构体变量名*/则表示定义了student1,student2为struct student类型的变量。......
2023-11-18
3.共用体变量的定义与结构体变量的定义类似,共同体变量的定义也有三种方法:定义类型的同时定义变量;定义类型后,用类型名定义变量;不给类型名,直接定义变量。......
2023-10-21
指向结构体变量的指针变量叫结构体类型指针变量,其定义方式、使用方法与指向基本变量的方法相同。使用结构体指针变量时还需要特别注意,结构体变量的地址与结构体变量成员的地址是不同的。已知某学生3门课程的成绩存放在一个结构体变量中,请设计一个独立的函数计算该学生的平均成绩,要求函数使用结构体指针变量做函数的形式参数。......
2023-11-20
相关推荐