由不同类型数据组成的组合型数据结构---->结构体
数组只能存储同一类型的数据
声明一个结构体类型一般形式:
struct 结构体名 {}
- 结构体类型的名字由关键字struct和结构体名共同组成
- 结构体类型并非只有一种
- 结构体是可以嵌套的
struct student{ char name[50];学生姓名 int age;学生年龄 int scere;学生分数 };注意
注意定义结构体最后 一定要加分号
结构体声明时不会占空间,只有在定义结构体变量时
才会分配
1 建议先声明结构体类型再定义变量(可以定义多个)
struct student{
char name[50];学生姓名
int age;学生年龄
int scere;学生分数
};
int main(){
struct student stu;定义一个结构体变量
return 0;
}
2 声明类型的同时定义变量(结构不清晰,不推荐)
struct date{
int year;
int month;
int day;
}student1,student2;
3 不指定类型直接定义结构体变量
struct {
int id
char dept
}emp1,emp2;
结构体类型(不分配空间)和结构体变量(分配空间)是不同的
结构体变量中的成员名可以和程序变量名相同
结构体变量中的成员可以单独使用,类似普通变量
结构体变量的初始化用数组
struct student{
char name[50];学生姓名
int age;学生年龄
int scere;学生分数
};
int main(){
struct student stu=["家家辉",16,99];初始化结构体变量
return 0;
}
不能定义完再进行初始化stu
stu=[.....]
使用或改结构体变量使用点
stu.name="家家辉"
stu.age=100
第一行中的数组名是常量不可以修改
如果是指针变量 访问用箭头运算符->
同样第一行数组名不可更改
应该用strcpy(p->name,"你爸爸")
使用指针变量名时要指向地址否则是野指针
将结构体变量的地址给到指针
完毕