在这一题中,主要要了解用指针如何处理与结构体相关的问题,首先,定义一个普通的结构体,如果需要存入很多数据,则定义一个结构体数组,再定义一个结构体指针,指针指向结构体数组*p,这样,每次利用*(p+i)便可以存取后面的结构体中的数据
#include<stdio.h>
struct student {
int num;
char name[20];
char sex;
int age;
};
int main()
{
struct student stu[20];
struct student * p = stu;//结构体指针
int n;
scanf("%d", &n);
int i;
for(i = 0; i < n; i++)
{
scanf("%d %s %c %d", &(p + i)->num, &(p + i)->name, &(p + i)->sex, &(p + i)->age);
}
if(n <= 20)
{
for(i = 0; i < n; i++)
{
printf("%d %s %c %d\n", p[i].num, p[i].name, p[i].sex, p[i].age);
}
printf("\n");
}
}