结构体知识粗练
结构是一种构造数据类型,且各成员类型可以不同。
(1) 学生信息结构定义:
struct student {
int num;
char name [10];
int computer,math,english;
double average;
};
在主函数中定义结构变量:struct student s1,math; 结构变量可以通过结构成员操作符“.”对其某个成员进行引用。(s1.average)若结构变量类型相同,可以直接赋值:max=s1.
结构是c语言中的一种构造数据类型,同时也是变量的结合,可以按照对基本数据类型的操作方法单独使用其成员变量。struct是定义结构类型的关键字。
结构的定义以分号结束,这是因为c语言将结构的定义看作一条语句。
(2)嵌套定义结构类型
struct address{
char city [10];
char street [20];
int code;
int zip;
};
struct nest_student {
````
struct address addr;
};
其中addr被定义成结构类型struct address,也即一个结构的成员被定义为另一个结构类型。(先定义成员的结构类型,再定义主结构类型)
(3)c语言中定义结构变量
···单独定义,先定义结构类型,再定义这种结构类型的变量。
···混合定义,在定义结构类型的同时定义结构变量;
struct student {
int num;
char name [10];
int computer,math,english;
double average;
} s1,s2;
```无类型名定义,在定义结构变量时省略结构名
(4)结构变量的初始化
struct student s1= {101,"zhang",78,87,85};各数据项之间用逗号隔开数据项对应赋给结构变量内各个成员,且要于数据类型一致。(sizeof的运算对象可以是结构类型名,也可以是结构变量名,计算结果以字节为单位。)