一、代码
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
struct student1
{
char* name;
int age;
char* sex;
int* score;
char* addr;
};
typedef struct student1 ss;
int main(void) {
ss* stu = (ss*)malloc(sizeof(ss)* 3);
for (int i = 0; i < 3;i++) {
(stu + i)->name = (char*)malloc(sizeof(char) * 21);
(stu + i)->sex = (char*)malloc(sizeof(char)* 1);
(stu + i)->score = (int*)malloc(sizeof(int)* 3);
(stu + i)->addr = (char*)malloc(sizeof(char)* 51);
}
for (int i = 0; i < 3; i++)
{
scanf("%s%d%s%d%d%d%s",(stu+i)->name,&((stu+i)->age),(stu+i)->sex,&((stu+i)->score[0]), &((stu + i)->score[1]), &((stu + i)->score[2]),(stu+i)->addr);
}
for (int i = 0; i < 3; i++)
{
printf("姓名:%s\n", stu[i].name);
printf("年龄:%d\n", stu[i].age);
printf("性别:%s\n", stu[i].sex);
printf("语文:%d\n", stu[i].score[0]);
printf("数学:%d\n", stu[i].score[1]);
printf("英语:%d\n", stu[i].score[2]);
printf("家庭住址:%s\n", stu[i].addr);
puts("");
}
//最后别忘记用free释放开辟的空间
return 0;
}
二、结果