首页 理论教育结构体变量引用方法-八进制

结构体变量引用方法-八进制

【摘要】:在输出结构体数据时只能对结构体变量中的各个成员分别进行输入输出。引用结构体变量中的成员的方式为:结构体变量名.成员名例如,student1.num表示student1变量中的num成员,即student1的num项。例如,结构体变量student1可以这样访问各成员:student1.numstudent1.birthday.month注意:不能用student1.birthday来访问student1变量中的成员birthday,因为birthday本身是一个结构体变量。scanf;// 输入student1.num的值printf;// 输出student1的首地址但不能用以下语句整体读入结构体变量:scanf;结构体变量的地址主要用作函数参数,传递结构体的地址。

在定义了结构体变量以后,就可以引用这个变量。但应遵守以下规则:

(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);

结构体变量的地址主要用作函数参数,传递结构体的地址。