当前位置: 代码迷 >> C语言 >> [求助]在哪释放内存??
  详细解决方案

[求助]在哪释放内存??

热度:419   发布时间:2006-02-02 16:12:00.0
[求助]在哪释放内存??

这是刚写的一个简单的建立链表,可我不知道该把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;
}
}

搜索更多相关的解决方案: 内存  释放  

----------------解决方案--------------------------------------------------------
why nobody help me?
----------------解决方案--------------------------------------------------------
free()用在删除链表节点的地方
注意删除的时候要把上下节点连接上~~

可能你对我这个解释不满意~可是你也没给出具体的题目或者代码出来啊

----------------解决方案--------------------------------------------------------
我的代码在上面啊???
题就是 建个动态链表啊
----------------解决方案--------------------------------------------------------

神vLinux飘飘 大哥 还在吗?


----------------解决方案--------------------------------------------------------
我有点不明白,你这个只是创建一个链表,不删除节点的情况下为什么要清内存呢?

----------------解决方案--------------------------------------------------------
在malloc申请内存后不用释放吗?当不在使用这个表的时候所开辟的内存空间不会自动释放啊!
如果是删除 那么不过是释放了那个元素吗 那其他的呢?

----------------解决方案--------------------------------------------------------
怎么malloc就怎么free
----------------解决方案--------------------------------------------------------

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


----------------解决方案--------------------------------------------------------

----------------解决方案--------------------------------------------------------
  相关解决方案