结构体数组
结构体数组的定义与引用
一个结构体变量可以存放一个学生的一组信息,可是如果有10个学生?难道要定义10个结构体变量?,很明显不现实,这时就要使用数组。结构体中也有数组,称为结构体数组。他与前面讲过的数组类型几乎一摸一样,只不过需要注意的是,结构体数组的每一个元素都是一个结构体类型的变量,都包含结构体中所有的成员项。
定义结构体数组的方法很简单,同定义结构体变量一样的,只不过将变量改成数组。或者说桶前面介绍的普通数组一模一样的,只不过将变量改成数组。
struct STUDENT stu[10];
这就定义了一个结构体数组,一共 10 个元素,每一个元素都是一个结构体变量,都包含所有的结构体成员。
结构体数组的引用与引用一个结构体变量在原理上是一样的。只不过是结构体数组中有多个结构体变量,我们只需要利用 for 循环一个一个地使用结构体数组中的元素。
下面我们来写一个程序
#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)
{
int i;
struct STU stu[5];
for(i=0; i<5; ++i)
{
printf("请输出第 %d 个学生的信息:\n", i+1);
scanf("%s%d %c%s", stu[i].name, &stu[i].age, &stu[i].sex, stu[i].num);
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.num, stu[j].num) < 0)
{
stumax = stu[j];
}
}
printf("学生姓名:%s 学生年龄:%d 学生性别:%c 学生学号:%s\n", stumax.name, stumax.age, stumax.sex, stumax.num);
}
相关阅读
package day03; public class TestArray { public static void main(String [] args) { int [] b; b = new int[] {88,99
sizeof()是C语言中常用的运算符,可以计算操作数的大小。sizeof的结果是无符号整数类型,通常用size_t表示。sizeof可以应用于各种数
在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML、JSON等,JSON作为一个轻量级的数据格式比xml效率要高,XML需要很多的
C语言中的动态数组 C语言中的动态数组就是动态内存分配的知识 首先,先看C语言的那些小秘密之动态数组https://blog.csdn.net/biglo
一、数组的声明 #include<stdio.h> int main(){ float candy[365];//通过声明告诉编译器数组元素的个数和类型 char code[12]