一.导入

在我们生活中有许多事物光用一言两语是表达不清楚的,比如说人,有性别、年龄、血型、工作岗位等,在C语言中也是如此,我们不能仅用一个 int 类型或 char 类型来进行表述,所以我们引入了结构体这个概念


二.结构体的特征

结构体将许多的单一类型进行了整合,结构体可以书写成如下形式:

struct Student{
	char name[6];
	int age;
	char sex[3];
	char tel[15];
};

其中 Student 是结构体的名称,被大括号包含的内容我们称之为结构体成员

如图所示:

复习课19 C语言结构体_复习课


三.使用结构体类型创建变量

既然是结构体类型那么我们就可以用它来创建变量,代码如下:

struct Student{     
	char name[6];
	int age;
	char sex[3];    
	char tel[15];
};
int main(void){
	struct Student stu1;
	return 0;
}

这样我们就成功创建了一个名为 stu1 的变量,如图所示:

复习课19 C语言结构体_复习课_02

但是光光这样是没用用的,在Student结构体中我们创建了很多类型也就是结构体成员,我们必须将它们利用起来才能发挥结构体的作用,那么如何使用这些结构体成员呢?


四.结构体类型变量初始化

其实初始化结构体变量很简单,只需要遵循一一对应的原则就可以了,我们需要按照创建结构体成员时候的顺序将我们的数据赋值给变量即可,示例代码如下:

#define _CRT_SECURE_NO_WARNINGS 1
struct Student{     
	char name[6];
	int age;
	char sex[3];    
	char tel[15];
};
int main(void){
	struct Student stu1 = {"张三",18,"男","1377xxxxxx"};
	return 0;
}

相信大家都能看出来在我们初始化结构体变量 stu1 的时候里面成员的顺序是按照 Student结构体中结构体成员顺序来进行输入的,也就是我们讲的一一对应


五.结构体类型变量的输出

上文我们已经成功初始化了结构体变量 stu1 那么我们该如何对其进行输出呢?其实输出方法也很简单,也是遵循上文所说的一一对应原则,代码示例如下:

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
struct Student{     
	char name[6];
	int age;
	char sex[3];    
	char tel[15];
};
int main(void){
	struct Student stu1 = {"张三",18,"男","1377xxxxxx"};
  printf("name=%s age=%d sex=%s tel=%s\n",stu1.name,stu1.age,stu1.sex,stu1.tel);
	return 0;
}

与我们普通输出不同的是由于 stu1 是一个结构体类型变量,我们要输出的是该结构体的每一个成员

所以我们就需要用到 . 这个操作符,输出遵循:结构体对象.成员名

知道这点后我们就可以按照顺序进行输出,如图所示:

复习课19 C语言结构体_复习课_03

                                                                                                                     2024/2/6

                                                                                                                       王起舟