0%

结构体

引言:老是忘记这块知识点,于是记录下来。

结构体

​ 同一种数据类型用指针的方式存储,对于不同数据类型但之间有有所关联的元素用结构体就能很好的将其存放在一起。

1、结构体的定义

1
2
3
4
5
6
7
8
9
10
11
12
13
#include<stdio.h>
struct student /*结构体名称*/{
int ID;
char name[20]; //成员列表
};
//struct student可以看作是一种数组

struct student{
int ID;
char name[20];
struct teacher; //结构体可以嵌套
};
//要注意的是,对于结构体的定义需要在main函数之前,否则会报错。如果申明结构体在函数内部,则它的作用域就只能在该函数的内部。

关于结构体嵌套下,下文有详细讲解,这里不做赘述。

2、结构体的初始化

1
2
3
4
5
6
7
8
int main()
{
struct student s1{
"123456789",
"张三"
};
printf("%d",s1.ID); //访问结构体变量元素s1,"s1.ID"指的是访问s1变量中ID这个元素。
}

定义了结构体,但是系统没有给他分配空间,这里就需要先定义结构体变量

1
2
3
4
struct stu{
int ID;
char name[];
}s1,s2; //定义两个结构题变量s1,s2。