有时候我们会需要创建很多结构体变量,比如游戏里面,不可能是一个人打游戏,这时候我们就需要创建很多结构体变量。
比如我们有一个结构体:
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);
}
}
运行截图
还有一种初始化方式,是访问结构体数组成员,类似数组
比如要访问user[2]的名字 可以直接user[2].name = “xxx”;进行初始化
网站标题:CV鼻祖洋芋
原创文章,作者:locus,如若转载,请注明出处:https://blog.cvpotato.cn/forward-code/c-2/125/
本博客所发布的内容,部分为原创文章,转载注明来源,网络转载文章如有侵权请联系站长!