7.7结构体指针操作学生成绩
#include<stdio.h>
#include<stdlib.h>
#include <string.h>
/* 7.7
author:edcfreedom
date:2021/8/26
funDescription:
结构体指针操作学生成绩
*/
struct Student
{
int score;
char *name;//
};
int main()
{
int i;
int len = 5;
//struct Student stus[3];
//struct Student *p = stus;
struct Student *p = (struct Student *)malloc(5*sizeof(struct Student));
for(i=0;i<len;i++){
printf("请输入名:\n");
p->name = (char *)malloc(128);
scanf("%s",(p->name));
printf("请输入分数:\n");
scanf("%d",&(p->score));
p++;
}
p = p-5;
//p = stus;//*只有在指针变量声明的时候才代表指针的符号,其他位置如果有*代表运算符,取值
for(i=0;i<len;i++){
printf("名字:%s,分数:%d\n",p->name,p->score);
p++;//用完指针之后记得指针++,不然指针的结果都是第一个人的成绩和名字
}
return 0;
}
这篇博客介绍了如何使用C语言的结构体指针来操作学生成绩。作者通过示例代码展示了如何动态分配内存给结构体数组,然后逐个输入学生的姓名和分数,并在结束后遍历显示所有学生的信息。程序中包含了结构体定义、指针操作以及内存管理的基本用法。
500

被折叠的 条评论
为什么被折叠?



