七、结构体与C++引用
7.1 结构体的定义、初始化、结构体数组
C 语言提供结构体来管理不同类型的数据组合。通过将不同类型的数据组合成一个整体,方便引用
例如,一名学生有学号、姓 名、性别、年龄、地址等属性,如果针对学生的学号、姓名、年龄等都单独定义一个变量,那么在有多名学生时,变量就难以分清。就可通过结构体来管理
声明一个结构体类型的一般形式为
struct 结构体名 {成员表列};
struct student
{
int num;char name[20];char sex;
int age;float score;char addr[30];
};
先声明结构体类型,再定义变量名。
struct student student1,student2;
【例1】结构体的scanf读取和输出
#include <stdio.h>
struct student{
int num;
char name[20];
char sex;
int age;
float score;
char addr[30];
};//结构体类型声明,注意最后一定要加分号
int main() {
struct student s={1001,"lele",'M',20,85.4,"Shenzhen"};
struct student sarr[3];//定义一个结构体数组变量
int i;
//结构体输出必须单独去访问内部的每个成员
s.num=1003; //单独赋值 输出的值会改变
printf("%d %s %c %d %f %s\n",s.num,s.name,s.sex,s.age,s.score,s.addr);
printf("--------------------------------------\n");
// scanf("%d%s %c%d%f%s",&s.num,s.name,&s.sex,&s.age,&s.score,s.addr);
for(i=0;i<3;i++)
{
scanf("%d%s %c%d%f%s",&sarr[i].num,sarr[i].name,&sarr[i].sex,&sarr[i].age,&sarr[i].score,sarr[i].addr);
}
for(i=0;i<3;i++)//结构体数组的输出
{
printf("%d %s %c %d %f %s\n",sarr[i].num,sarr[i].name,sarr[i].sex,sarr[i].age,sarr[i].score,sarr[i].addr);
}
return

最低0.47元/天 解锁文章
470

被折叠的 条评论
为什么被折叠?



