结构体数组的初始化与前面讲的数值型数组的初始化是一模一样的,数值类型数组初始化的方法需要注意的是在结构体数组的初始化中同样适用,因为不管是不是数值型数组还是结构体数组都是数组。

#include<stdio.h>
#include<string.h>
struct STU
{
	char name[20];
	int age;
	char sex;
	char num[20];
};
void OutputSTU(struct STU stu[5]);
int main(void)
{
	struct STU stu[5] = {
		{"小红", 22, 'F', "11111"},
		{"小米", 20, 'M', "2222"},
		{"小Ken", 18, 'M', "3333"},
		{"小气", 23, 'F', "4444"},
		{"孝心", 20, 'F', "555"}
	};
	OutputSTU(stu);
	return 0;
}

void OutputSTU(struct STU stu[5])
{
	struct STU stumax = stu[0];
	int j;
	for(j=1; j<5; j++)
	{
		if(strcmp(stumax.name, stu[j].num)<0)
		{
			stumax = stu[j];
		}
	}
	printf("学生姓名:%s 学生年龄:%d 学生性别:%c 学生学号:%s\n", stumax.name, stumax.age, stumax.sex, stumax.num);
}

结构体数组定义时初始化_其他