引入
前面,我们学习了如何声明一个结构体类型和初始化结构体变量,那么数组能不能设置为结构体类型呢?答案是肯定的,这就是结构体数组。结构体数组和普通数组的最大区别就是,每个数组元素其实都是一个结构体类型的数据,因为数组是结构体类型。
例子
三个候选人,10张选票,我们设计一个统计选票的程序,输入10个选票的结果,输出统计数量。
#include <stdio.h>
#include <string.h>
int main(){
struct People{
char name[20];
int count;
}leader[3]={"a",0,"b",0,"c",0};
char leader_name[20];
for (int i=0;i<10;i++){
scanf("%s",leader_name);
for (int j=0;j<3;j++){
if(strcmp(leader_name,leader[j].name)==0){
leader[j].count++;
}
}
}
printf("最终结果是:\n");
for(int i=0;i<3;i++){
printf("%s 获得 %d 票 !\n",leader[i].name,leader[i].count);
}
return 0;
}