【C语言】详解结构体(上)-2.结构体的声明

在讲完结构体的含义之后,那我们该如何去定义一个结构体呢?

2.1 结构体声明的语法

struct tag
{
	member-list; 
}varible-list;
符号 含义
tag 标签,可以理解为结构体名字
member-list 成员列表,之后我们就是在这个花括号内来写我们想要存储的变量
varible-list 变量列表,这个就是我们利用结构体创建之后直接给结构体变量的名称

注意:结构体名称和结构体变量名称是两个不一样的东西,不要给混淆了

例如:我们描述一个学生

struct Student
{
	char name[20];//姓名
	int age;//年龄
	char sex[5];//性别
	char id[20];//学号
}; //这里有个分号,一定不要忘记写了

2.2 结构体变量的创建和初始化

struct S
{
	char c;
	int i;
	double d;
};

struct Stu
{
	char name[20];//名字
	int age;//年龄
	char sex[5];//性别
	char id[20];//学号
};

int main()
{
	//按照结构体的成员顺序进行赋值
	struct Stu s1 = { "张三",22,"男","123456789" };
	printf("name: %s\n",s1.name);
	printf("age: %d\n", s1.age);
	printf("sex: %s\n", s1.sex);
	printf("id: %s\n", s1.id);

	printf("\n");
	//按照知道指定的顺序赋值
	struct Stu s2 = { .age = 18,.name = "梨花",.id = "563217485",.sex = "女"};
	printf("name: %s\n", s2.name);
	printf("age: %d\n", s2.age);
	printf("sex: %s\n", s2.sex);
	printf("id: %s\n", s2.id);
	return 0;
}

结果演示
除了上述在main函数内创建结构体变量的方式之外,我们还可以在面函数外面创建结构体变量,如果是这样做的话,这个变量就相当于全局变量了。

//方法一
struct Stu
{
	char name[20];//名字
	int age;//年龄
	char sex[5];//性别
	char id[20];//学号
}s1,s2; //变量列表

//方法二
struct Stu s3;

int main()
{
	...
}
上一篇:如何实现浏览器界面点击按钮直接修改并发布npm库


下一篇:Jmeter二次开发Demo