结构体数组

有时候我们会需要创建很多结构体变量,比如游戏里面,不可能是一个人打游戏,这时候我们就需要创建很多结构体变量。
比如我们有一个结构体:

 struct Game_person {
	char name[50];
	int hp;
	int mp;
	double experience;

};

结构体数组的定义

类似数组的定义 int arr[10] int是数据类型 arr是数组名 10是数组的大小
结构体数组定义:
struct Game_person user[10]
struct Game_person为数组元素的数据类型,user为数组名,[10]为申请了10个struct Game_person单元的内存;
解释:声明user为一个具体10个元素的数组,并且每个元素Game_person类型的结构,因此可以得到 user[0], user[1]…….Game_person 结构;
这时候user并不是一个结构体变量名 而是结构体数组名

结构体数组的初始化

#include<stdio.h>
typedef struct Game_person {
	char name[50];
	int hp;
	int mp;
	double experience;

}Gp;
int main()
{
	Gp user[3] =
	{
		{"韩信",100,100,1300},
		{"梦琪",100,100,1300},
		{"钟馗",100,100,1300},
	};
	for (size_t i = 0; i < 3; i++)
	{
		printf("%s %d %d %0.2f\n", user[i].name, user[i].hp, user[i].mp, user[i].experience);
	}

}

运行截图

image.png

还有一种初始化方式,是访问结构体数组成员,类似数组
比如要访问user[2]的名字 可以直接user[2].name = “xxx”;进行初始化

网站标题:CV鼻祖洋芋

原创文章,作者:locus,如若转载,请注明出处:https://blog.cvpotato.cn/forward-code/c-2/125/

本博客所发布的内容,部分为原创文章,转载注明来源,网络转载文章如有侵权请联系站长!

(0)
上一篇 2024年11月14日 下午1:27
下一篇 2024年11月14日 下午2:21

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注