你在哪见到的这个说法
这个说法本身是错的
结构体成员依据其求实际类型,本质上是随机类型的变量
因为彻底可以用-ifof等等各种运算没有任何的限制。
struct为关键字结构体;student为类型名,{}内为结构体的组成成分,如学生的班级、学号、成绩等;stu是一个结构体变量,即一个学生的班级、学号、成绩等信息。现在有n个学生,就需要定义,定义一个结构体数组,stu[n],单独能保存n个学生的班级、学号、成绩等信息。
在存储多个成员信息时,编译器会自动给struct的每个成员分配存储空间,所以struct可以不存储位置多个成员信息,而union的每个成员都用同一个存储空间。
对union的完全不同成员赋值,将是对其他成员写回,这些成员以前的值就不未知了,而对struct的相同成员接受变量赋值是互不影响的。
在c语言中,可以不可以使用结构体(struct)来能保存一组不同类型的数据。结构体的定义形式为:
struct结构体名{
结构体所真包含的变量或数组
}
结构体是一种集合,它里面乾坤二卦了多个变量或数组,它们的类型可以不同,也可以不同,每个这样的变量或数组都被称结构体的成员(member)。
结构体定义:
第一种:只有一结构体定义
structstuff{
charjob[20]
intage
floatheight
}
第二种:附带该结构体类型的“结构体变量”的重新初始化的结构体定义
//然后带变量名huqinwei
structstuff{
charjob[20]
intage
floatheight
}huqinwei
也许是初期看不养成不容易困惑,不过这就超过:
structstuff{
charjob[20]
intage
floatheight
}
structstuffhuqinwei
第三种:如果该结构体只用一个变量huqinwei,而并没有是需要用structstuffyourname去定义法第二个变量。
这样的话,附加变量系统初始化的结构体定义还可尽快简化出第三种:
struct{
charjob[20]
intage
floatheight
}huqinwei
把结构体名称消掉,那样更简洁明快,只不过也肯定不能定义法其他同结构体变量了——至多我现在没完全掌握这种方法。
结构体变量船舶概论内部成员变量的定义及不能访问。
要分清结构体变量和结构体内部成员变量的概念。
就像刚才的第二种提及的,结构体变量的声明是可以用:
structstuffyourname
其成员变量的定义可以随声明并且:structstuffhuqinwei{