#include <stdio.h>
#include <stdlib.h>
// 声明结构的位置,可以放在main()函数外,也可以放在main()函数内
// 定义新的类型代替已有类型名
typedef struct Student
{
char num[8];
char name[16];
char sex[3];
int age;
char addr[30];
};
int main()
{
struct Student stu1[5];
struct Student *pstu[5]; // 定义一个结构体指针变量
int i=0;
for(i=0;i<1;i++){
printf("请依次输入第%d位学生编号、姓名、性别、年龄、地址:\n", i+1);
scanf("%s %s %s %d %s", &stu1[i].num, &stu1[i].name, &stu1[i].sex, &stu1[i].age, &stu1[i].addr);
// 使pstu[i]指向stu1[i],只需要把stu1[i]的地址赋值给指针即可。
// 指针可以这样理解:一般的数据类型是存放值,而指针是存放数据类型在计算机内存中的地址;
pstu[i]=&stu1[i];
}
// 这样pstu保存的就是stu1的地址;
// 我们可以通过*pstu[i].num取得这个地址上的值
for(i=0;i<1;i++){
printf("编号:%s 姓名:%s 性别:%s 年龄:%d 地址:%s\n",pstu[i]->num,pstu[i]->name,pstu[i]->sex,pstu[i]->age,pstu[i]->addr);
}
return 0;
}