首页 百科知识 结构变量成员的引用方式是

结构变量成员的引用方式是

时间:2024-10-17 百科知识 版权反馈
【摘要】:例如,stu1.name表示结构变量stu1的name成员。由于结构变量包括多个分量,因此要输入、输出或将值赋给结构变量都需要对结构成员进行访问,例如下面的语句就是不正确的,因为不能直接对结构变量进行输入输出:程序中第18行struct student stu1;是定义一个名为stu1的结构变量,struct student是数据类型,就像int和float一样,只是int和float是由编泽系统定义好的基本类型名,而struct student则是编程者自己定义类型名。

4.4.2 结构成员的访问

定义好结构类型、结构变量后,就可以引用结构变量了。结构变量中各成员的引用方式为:

  结构变量名.成员名

例如,stu1.name表示结构变量stu1的name成员。这里“.”是成员运算符,为了便于记忆,不妨将“.”读成“的”。这样“printf("%s\n",stu1.name);”读成“输出stu1的name成员”。

如果结构类型的成员也是结构类型,则需使用点操作符一级一级地找到最低级的成员变量,比如“printf("%d年",stu1.birthday.year);”就用于输出stu1的birthday成员的year成员。

C语言规定,可以直接将一个结构变量的值赋给与之同类型的另一个结构变量。由于结构变量包括多个分量,因此要输入、输出或将值赋给结构变量都需要对结构成员进行访问,例如下面的语句就是不正确的,因为不能直接对结构变量进行输入输出:

  scanf("%s",&stu1);

  printf("%s",stu1);

而语句

  stu1=stu2;

则是正确的。

下面的程序4-7.cpp用于从键盘输入一个学生的信息,并输出之。

img380

img381

程序中第18行struct student stu1;是定义一个名为stu1的结构变量,struct student是数据类型,就像int和float一样,只是int和float是由编泽系统定义好的基本类型名,而struct student则是编程者自己定义类型名。这里student是含有4个成员的描述个人信息的结构类型,而stu1是这种结构类型的变量。

光是定义结构类型,只是说明了这种类型的组成情况,系统不会为它分配内存空间,就像系统不为int和float等类型本身分配内存空间一样。只有在定义结构变量时系统才会给这一变量分配空间。比如,在程序4-7.cpp中,系统不会为student分配空间,而是为stu1分配内存空间。

程序的第21到32行,依次提醒并输入变量stu1的4个成员,程序第35到39行依次输出stu1变量的4个成员。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈