| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1017 人关注过本帖
标题:[求助]在哪释放内存??
取消只看楼主 加入收藏
aiyuheng
Rank: 1
等 级:新手上路
威 望:1
帖 子:656
专家分:0
注 册:2006-1-12
收藏
 问题点数:0 回复次数:8 
[求助]在哪释放内存??

这是刚写的一个简单的建立链表,可我不知道该把free()用在什么地方.很多说上都没写该什么时候释放内存.请大家帮帮忙.谢谢!
#include<stdio.h>
#include<malloc.h>
struct chain
{
char data;
struct chain *next;
};

struct chain *create(void);
void print(struct chain *);

void main()
{
struct chain *q1;
q1=create();
print(q1);
}

struct chain *create(void)
{
struct chain *head,*tail,*p;
head=tail=NULL;
char ch;
while ((ch=getchar())!='\n')
{
p=(struct chain *)malloc (sizeof(struct chain));
p->data=ch;
p->next=NULL;
if (head==NULL)
{
head=tail=p;
}
else
{
tail=tail->next=p;
}
}
return head;
}

void print(struct chain *head)
{
while (head!=NULL)
{
printf("%c",head->data);
head=head->next;
}
}

搜索更多相关主题的帖子: 内存 释放 
2006-02-02 16:12
aiyuheng
Rank: 1
等 级:新手上路
威 望:1
帖 子:656
专家分:0
注 册:2006-1-12
收藏
得分:0 
why nobody help me?

when i want to ask anyone,i will ask myself first.
2006-02-02 19:34
aiyuheng
Rank: 1
等 级:新手上路
威 望:1
帖 子:656
专家分:0
注 册:2006-1-12
收藏
得分:0 
我的代码在上面啊???
题就是 建个动态链表啊

when i want to ask anyone,i will ask myself first.
2006-02-02 20:50
aiyuheng
Rank: 1
等 级:新手上路
威 望:1
帖 子:656
专家分:0
注 册:2006-1-12
收藏
得分:0 

神vLinux飘飘 大哥 还在吗?


when i want to ask anyone,i will ask myself first.
2006-02-02 21:06
aiyuheng
Rank: 1
等 级:新手上路
威 望:1
帖 子:656
专家分:0
注 册:2006-1-12
收藏
得分:0 
在malloc申请内存后不用释放吗?当不在使用这个表的时候所开辟的内存空间不会自动释放啊!
如果是删除 那么不过是释放了那个元素吗 那其他的呢?

when i want to ask anyone,i will ask myself first.
2006-02-02 23:28
aiyuheng
Rank: 1
等 级:新手上路
威 望:1
帖 子:656
专家分:0
注 册:2006-1-12
收藏
得分:0 

版主大哥 问一下 是不是malloc 和free一定要成对使用呢??


when i want to ask anyone,i will ask myself first.
2006-02-02 23:33
aiyuheng
Rank: 1
等 级:新手上路
威 望:1
帖 子:656
专家分:0
注 册:2006-1-12
收藏
得分:0 
谢谢版主 谢谢大家
我把最后的print函数改了
void print(struct chain *head)
{
struct chain *r;
r=head;
while (r!=NULL)
{
printf("%c",r->data);
head=r->next;
free(r);
r=head;
}
}
加了个变量,将输出完的元素释放.

when i want to ask anyone,i will ask myself first.
2006-02-02 23:39
aiyuheng
Rank: 1
等 级:新手上路
威 望:1
帖 子:656
专家分:0
注 册:2006-1-12
收藏
得分:0 
明白了 谢谢

when i want to ask anyone,i will ask myself first.
2006-02-02 23:49
aiyuheng
Rank: 1
等 级:新手上路
威 望:1
帖 子:656
专家分:0
注 册:2006-1-12
收藏
得分:0 
当建立一个链表时申请内存空间,在对它操作完后一定要对内存进行释放.

when i want to ask anyone,i will ask myself first.
2006-02-02 23:57
快速回复:[求助]在哪释放内存??
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016814 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved