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

#include <stdio.h>
#include<malloc.h>
typedef char datatype;
typedef struct node{
datatype data;
struct node *next;
} listnode;
typedef listnode *linklist;
listnode *p;
linklist createlist(void)
{
char ch;
linklist head;
listnode *p;
head=NULL;//初始化为空
ch=getchar( );
while (ch!='\n'){
p=(listnode*)malloc(sizeof(listnode));/*分配空间*/
p->data=ch;/*数据域赋值*/
p->next=head;/*指定后继指针*/
head=p;/*head指针指定到新插入的结点上*/
ch=getchar( );
}
return (head);
free(p);
}
main()
{
linklist newlist=createlist();
}
我不太明白malloc 的用法,什么时候该用free,我在上面的程序上加上了free(),不知道对不对,希望大家告诉我,指点我,
在此谢过!

搜索更多相关主题的帖子: malloc 
2006-01-13 14:47
冰镇柠檬汁儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:北京
等 级:版主
威 望:120
帖 子:8078
专家分:6657
注 册:2005-11-7
收藏
得分:0 
malloc是为指针分配空间的,free则是回收指针空间的,在不再用到某个指针时就可以将指针回收,并且要养成回收指针的习惯,一面内存泄漏。

本来无一物,何处惹尘埃
It is empty at all here, Why pm 2.5 is so TMD high!
2006-01-13 15:26
aiyuheng
Rank: 1
等 级:新手上路
威 望:1
帖 子:656
专家分:0
注 册:2006-1-12
收藏
得分:0 
那我加的 对不对啊 能说具体点吗?
谢谢拉!

when i want to ask anyone,i will ask myself first.
2006-01-13 15:28
冰镇柠檬汁儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:北京
等 级:版主
威 望:120
帖 子:8078
专家分:6657
注 册:2005-11-7
收藏
得分:0 
我觉得没问题,可是我很久没用C了,你试试能不能编译通过

本来无一物,何处惹尘埃
It is empty at all here, Why pm 2.5 is so TMD high!
2006-01-13 15:31
aiyuheng
Rank: 1
等 级:新手上路
威 望:1
帖 子:656
专家分:0
注 册:2006-1-12
收藏
得分:0 

我看的好几本书上都只有malloc 而没有free 他们在一个程序中是必须成对出现的吗?


when i want to ask anyone,i will ask myself first.
2006-01-13 15:33
冰镇柠檬汁儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:北京
等 级:版主
威 望:120
帖 子:8078
专家分:6657
注 册:2005-11-7
收藏
得分:0 
不知道现在的C编译器是否都支持垃圾回收,在我学C的时候,是要写的,这是好的习惯,不写也不会影响什么,只是会有内存泄漏

本来无一物,何处惹尘埃
It is empty at all here, Why pm 2.5 is so TMD high!
2006-01-13 15:41
aiyuheng
Rank: 1
等 级:新手上路
威 望:1
帖 子:656
专家分:0
注 册:2006-1-12
收藏
得分:0 
那对于free的位置那?

when i want to ask anyone,i will ask myself first.
2006-01-13 16:06
冰镇柠檬汁儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:北京
等 级:版主
威 望:120
帖 子:8078
专家分:6657
注 册:2005-11-7
收藏
得分:0 
只要在malloc后面就能回收指针的空间。

本来无一物,何处惹尘埃
It is empty at all here, Why pm 2.5 is so TMD high!
2006-01-13 18:18
aiyuheng
Rank: 1
等 级:新手上路
威 望:1
帖 子:656
专家分:0
注 册:2006-1-12
收藏
得分:0 
谢谢拉

when i want to ask anyone,i will ask myself first.
2006-01-13 18:20
快速回复:malloc的问题
数据加载中...
 
   



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

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