【引子】
在日常编程中,常常遇到一些题目需要创建很多个数组,比如一本通的1178:成绩排序或1399:甲流病人初筛,他们都有许多的数据需要输入,那么,有没有一种结构体,可以一次性定义多个内容在一个数组里呢?
答案是:有的!!!
【例子】
我们来看一下下面这个程序:
struct f {
string a;
int m;
} ;
这个程序的意思是定义了一个叫做f的类型,这个类型里包含了一个字符串a,与一个整数m,那么一旦我们使用了这个类型去定义一个一维数组,那么这个数组里的一个小隔间就会含有两层,就像下面这样:
虽然有点难懂,但用熟了就会了,所以不用担心。
【格式】
定义结构体的格式:
struct f {//struct是定义结构体的函数,必须有!!!,f是你定义的结构体的名称,可以随便取,但不能与电脑自带的类型重名(比如:int char double float等等)
string a;
int m;//这两行是定义这个结构体内有哪些标准类型的变量,可以累加
} ;
定义结构体数组的格式:
【方法一】
直接在后面定义:
struct f {
string a;
int m;
}a[100] ,b[100];
【方法二】
跳出来重新定义(与正常定义一样):
struct f {
string a;
int m;
} ;f a[100];
【使用方法】
struct f {
string a;
int m;
} ;f a[100];
//定义好后直接使用,但要注意选择这个结构体中的哪一个变量
for (int i=0;i<100;i++){
cin>>a[i].a>>a[i].m;
}
注意:格式是 数组名[序号]. 变量名,一定要注意有个点
【注意事项】
1.定义过后的结构体只能用于定义数组,不能用来定义变量!!!
2.定义结构体的时候,右大括号(“}”)后面有一个分号(“;”),千万不能删除!!!
3.使用方法十分重要,关键在于右中括号(“]”)后面有一个点!!!记清楚!!!
4.希望点赞评论收藏关注,一键三连,谢谢大家!!!