作业帮 > 综合 > 作业

请问C语言中结构名和结构变量是什么?

来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/09/22 01:36:07
请问C语言中结构名和结构变量是什么?
结构变量怎么用?结构名怎么用呢?我看有的时候没有结构变量,有的时候又有好多,麻烦通俗易懂讲解一下,谢谢大家感激不尽辛苦了.
请问C语言中结构名和结构变量是什么?
结构可以看成是特殊的数组.
结构名等同数组名.结构变量等同 数组名.-- 通俗易懂吧!
数组 含一组数,它们是同一类型的.整型数组,它的所有元素都是整型.float 数组,它的所有元素都是float型.
结构 含一组数,它们往往 是 不同类型的. 例如,它的成员 有整型,有float型,有 char 型.
有没有结构变量,就同有没有数组变量一样.
你不想用一堆简单变量,而改用数组,就用数组了.同样,你不想用一堆各种类型的简单变量,你就改用结构了.
例如,学生信息:姓名,学号,数学成绩,语文成绩,物理成绩,平均分数,你想把1个学生的这些信息作为一组数,放在一个变量里.你就可以定义一个结构类型,例如喊它struct student. 成员变量名叫 name,num,math,yuwen,wuli,mean.
写出:
struct student{char name[20];int num;float math,yuwen,wuli,mean;} -- 这就是结构.
struct student st1,st2,st3,st4; -- 声明了4个学生的学生信息结构变量,变量名 st1,st2,st3,st4
接下来就可以使用它们了.
至于如何用,自己看书吧.这里只能扼要回答基本问题.
再问: 谢谢前辈。结构名等同数组名。结构变量等同 数组名?这两个不是一样了吗
再答: 等同 是指语法 上的 含义,语法上的地位。不是等于。 结构 和 数组 都表示 一组数,只不过 一个是单一类型,另一个是不同类型。 它们的成员,一个称为 元素, 一个称为 成员。
再问: 还是不太懂,能加上具体的代码说明他们区别例子吗?比如 【 struct student{char name[20];int num;float math,yuwen,wuli,mean;} 】 和【struct student{char name[20];int num;float math,yuwen,wuli,mean;} , st1 ,st2 ,st3 】 有什么区别呢
再答: 你写的前者是定义结构 student。没有声明变量。 后者是定义结构 student,并声明st1 ,st2 ,st3 是这种结构变量。 ------------- 写法1 #include #include struct student{char name[20];int num;float math,yuwen,wuli,mean;} ; main(){ struct student st1,st2,st3; st1.num=1301;st2.num=1302;st3.num=1303; st1.math=81; st2.math=76;st3.math=89; printf("%d %f \n%d %f\n %d %f\n",st3.num,st3.math,st1.num,st1.math,st2.num,st2.math); return 0; } ----------- 写法2 #include #include struct student{char name[20];int num;float math,yuwen,wuli,mean;} st1,st2,st3 ; main(){ st1.num=1301;st2.num=1302;st3.num=1303; st1.math=81; st2.math=76;st3.math=89; printf("%d %f \n%d %f\n%d %f\n",st3.num,st3.math,st1.num,st1.math,st2.num,st2.math); return 0; }