c语⾔数组结构,结构数组及其定义和使⽤,C语⾔结构数组的
详细说明
次?
显然不可能结构体,然后使⽤数组. 结构中也有数组,称为结构数组. 它与上⾯提到的数字数组⼏乎相同,但应注意,结构数组的每个元素都是结构类型变量,其中包含结构中的所有成员项.
定义结构数组的⽅法⾮常简单. 除了将变量更改为数组外,它与定义结构变量相同. 或者前⾯介绍的通⽤数组的定义完全相同,例如:
struct STUDENT stu[10];
这定义了⼀个结构数组,共有10个元素. 每个元素都是结构变量结构体,包含所有结构成员.
对结构数组的引⽤在原则上与引⽤结构变量相同. 只是结构数组中有多个结构变量. 我们只需要使⽤for循环就可以⼀⼀使⽤结构数组中的元素.
将编写以下程序. 编程要求是: 通过键盘输⼊5名学⽣的基本信息,例如姓名,年龄,性别和学⽣编号,然后将学⽣编号最⼤的学⽣的基本信息输出到屏幕.
# include
# include
struct STU
{
char name[20];
int age;
char sex;
char num[20];
};
void OutputSTU(struct STU stu[5]); //函数声明, 该函数的功能是输出学号最⼤的
int main(void)
{
定义数组初始化int i;
struct STU stu[5];
for (i=0; i<5; ++i)
{
printf("请输⼊第%d个学⽣的信息:", i+1);
scanf ("%s%d %c%s", stu[i].name, &stu[i].age, &stu[i].sex, stu[i].num);/*%c前⾯要加空格, 不然输⼊时会将空格赋给%c*/
}
OutputSTU(stu);
return 0;
}
void OutputSTU(struct STU stu[5])
{
struct STU stumax = stu[0];
for (j=1; j<5; ++j)
{
if (strcmp(stumax.num, stu[j].num) < 0) //strcmp函数的使⽤
{
stumax = stu[j];
}
}
printf("学⽣姓名:%s 学⽣年龄:%d 学⽣性别:%c 学⽣学号:%s\n", stumax.name, stumax.age, stumax.sex, stumax.num); }
请输⼊第⼀位学⽣的信息: Xiaohong 22 F Z1207031请输⼊第⼆名学⽣的信息: Xiaoming 21 M Z1207035请输⼊第三名学⽣的信息: ⼩学七年级23 F Z1207022

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。