结构体
1.结构体声明
struct 结构体名{
结构体成员1;
结构体成员2;
结构体成员3;
结构体成员4;
}
struce Book{
char title[100];
char auther[50];
int price;
};
-
定义结构体类型变量
- 语法 struct 结构体名称 结构体变量名;
- 如 struct Grades data;
-
访问结构体变量(点号(.))
- 如 data.Name
范例1:
#include<stdio.h>
struct Grades{
char Name[20];
int ID;
float grade;
}data; //全局变量,data可被其他函数调用
int main(){
//struct Grades data; 局部变量
printf("请输入姓名:");
scanf("%s",data.Name);
printf("请输入学号:");
scanf("%d",&data.ID);
printf("请输入成绩:");
scanf("%f",&data.grade);
printf("\n======成绩录入完毕======\n");
printf("姓名:%s\n",data.Name);
printf("学号:%d\n",data.ID);
printf("成绩:%.2f\n",data.grade);
}
结果:
输入姓名:小明
请输入学号:111111
请输入成绩:99.5
======成绩录入完毕======
姓名:小明
学号:111111
成绩:99.50
- 初始化结构体变量
struct Grades data{
"小明",
111111,
99.5
};
-
初始化结构体的指定成员值
- struct Grades data ={.ID=111111};
- 还可以不安结构体声明顺序进行初始化
-
通过调整结构体内成员顺序来达到节省内存的目的
- 所有指针对齐成员排在最前面
- int //4byte
- short //2byte
- 字符 //1byte