c语言结构体数组

发布时间:2023年12月27日

? ? ? 使用结构体变量建立数据类型后,我们就可以利用这个数据类型创建数组,就比如创建整形数组就可以写为 int arr[ ],那么创建一个自己建立的数据类型的数组就可以写为:

声明的结构体类型名 + 数组名。

例如我们声明一个结构体类型struct my后,就可以在主函数写一个struct my类型的数组。如下:

struct my
{
int a;
char b;
int arr[5];
};
int main()
{
struct my brr[5];
}

? ? ?例题:

(1)定义一个结构体变量Birthday用来存放一个人的出生日期(年、月、日)。

(2)定义一个结构体变量Student 用来存放学生个人信息,包括姓名(10个字符),学号(长整型)、出生日期、身高、体重)

(3)定义一个结构体数组MyClass用来存放5个学生的信息

编写程序实现要求从键盘输入5个同学的信息,然后输出5个同学的信息。

struct Birthday
{
	int year;
	int	month;
	int day;
};
struct Student
{
	char name[10];//名字
	long int num;//学号
	struct Birthday p;//出生日期
	int hight;//身高
	int weight;//体重
};

int main()
{
	struct Student MyClass[5];
	for (int i = 0; i < 5; i++)
	{
		printf("输入第%d个学生的信息:\n ", i + 1);
		printf("名字:");
		scanf("%s", &MyClass[i].name);
		printf("学号:");
		scanf("%ld", &MyClass[i].num);
		printf("生日日期(年 月 日):");
		scanf("%d %d %d", &MyClass[i].p.year, &MyClass[i].p.month, &MyClass[i].p.day);
		printf("身高:");
		scanf("%d", &MyClass[i].hight);
		printf("体重:");
		scanf("%d", &MyClass[i].weight);
	}
	printf("\n");
	for (int j = 0; j < 5; j++)
	{
		printf("输出第%d个学生的信息:\n", j + 1);
		printf("名字:");
		printf("%s\n", MyClass[j].name);
		printf("学号:");
		printf("%ld\n", MyClass[j].num);
		printf("生日日期(年 月 日):");
		printf("%d %d %d\n", MyClass[j].p.year, MyClass[j].p.month, MyClass[j].p.day);
		printf("身高:");
		printf("%d\n", MyClass[j].hight);
		printf("体重:");
		printf("%d\n", MyClass[j].weight);
	}
	return 0;
}

文章来源:https://blog.csdn.net/weixin_58252863/article/details/135252648
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。