幻想森林

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2456|回复: 4

[通用编程] 一个结构的问题

[复制链接]

313

主题

1574

帖子

1万

积分

⑧专业

*永恒国度*

积分
14145
QQ
发表于 2007-4-9 15:18:46 | 显示全部楼层 |阅读模式
一个收入学生信息再输出的程序,我想问的是把char name[20]改为 char *name 的话那后面怎么修改法呢?[s:6] [s:6] 请各位大虾指教...
#include<stdio.h>
struct student
{
    int num;
    char name[20];
    float score_c;
    float score_j;
};
struct student student1;
void a(int *n,char *d,float *e,float *f);
void ab();
void main()
{
    int i=5;
    for(i=0;i<5;i++)
    ab();
}
   
void ab()   
{   
    printf("请输入学号:");
    scanf("%d",&student1.num);
    fflush(stdin);
    printf("\n请输入姓名:");
    gets(student1.name);
    fflush(stdin);
    printf("\n请输入C的成绩:");
    scanf("%f",&student1.score_c);
    printf("\n请输入J的成绩:");
    scanf("%f",&student1.score_j);
    a(&student1.num,student1.name,&student1.score_c,&student1.score_j);
}

void a(int *n,char *d,float *e,float *f)
{
   
    printf("\n该生的信息\n");
    printf("\n学号:%d",*n);
    printf("\n姓名:%s",d);
    printf("\n成绩C:%f",*e);
    printf("\n成绩J:%f",*f);
    printf("\n平均成绩为:%f\n",(*e+*f)/2);
}
[img][/img] http://shop33698673.taobao.com被别人嫉妒,证明你优秀,嫉妒别人说明你无能
回复

使用道具 举报

88

主题

5419

帖子

214748万

积分

版主

S素世上最伟大最华丽

Rank: 7Rank: 7Rank: 7

积分
2147483647
QQ
发表于 2007-4-9 16:24:38 | 显示全部楼层
malloc申请空间
回复 支持 反对

使用道具 举报

313

主题

1574

帖子

1万

积分

⑧专业

*永恒国度*

积分
14145
QQ
 楼主| 发表于 2007-4-9 16:28:44 | 显示全部楼层
引用第1楼Saiholmes2007-04-09 16:24发表的:
malloc申请空间
[s:6]  [s:6] 不懂
[img][/img] http://shop33698673.taobao.com被别人嫉妒,证明你优秀,嫉妒别人说明你无能
回复 支持 反对

使用道具 举报

50

主题

742

帖子

402

积分

版主

自定义头衔

Rank: 7Rank: 7Rank: 7

积分
402
发表于 2007-4-9 20:32:53 | 显示全部楼层
就是说本来char [20]是固定申请20字节的内存
现在是char* name = malloc( bytesyouwant );

记得需要自己释放内存 free( name ) 否则内存就一直占用了,直到进程结束- - [s:4]
Style-C
回复 支持 反对

使用道具 举报

18

主题

428

帖子

5260

积分

⑦老手

在美工荒中挣扎的全能

积分
5260
QQ
发表于 2007-4-10 11:17:02 | 显示全部楼层
malloc和calloc之类是在stdlib.h里面定义的……

嗯……忘记释放内存而直接重新对存在目标的指针malloc/new,而导致原来指针丢失而原内存未被且无法被释放,这种问题叫做内存泄漏……是C/C++比较容易发生的错误。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|幻想森林

GMT+8, 2024-5-4 11:08 , Processed in 0.024246 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表