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

关键在主函数中啊。请看程序后在分析啊,谢谢!!!

#include <stdio.h>
#define max 10
struct list
{
int number;
char name[max];
struct list *next ;
};
typedef struct list node ;
typedef node *link ;
void freelist(link head) /*释放链表 */
{ link pointer ;
while(head !=NULL)
{ pointer=head;
head=head->next ;
free(head);
}
}
void printlist(link head) /*/输出链表 */
{ link pointer;

pointer=head;
while(pointer !=NULL)
{ printf("notice input date : \t");
printf("date number: %d .it's name %s\n",pointer->number,pointer->name);
pointer=pointer->next;
}

}
link creatlist(link head) /*/建立链表 */
{
int datenum ;
char datename[max];
link new1 ,pointer;
int i;
head=(link)malloc(sizeof(node));

if(head==NULL)
printf("failure in alloc \n");
else
{ printf("##the first size is %d\n",sizeof(head));
datenum=1;
printf("please input the date name :\t");
scanf("%s",datename);
head->number=datenum ;
for(i=0;i<max;i++)
head->name[i]=datename[i];
head->next=NULL;
pointer=head;
while(1)
{
datenum++ ;
new1=(link)malloc(sizeof(node));
printf("&&&the next size is %d .\n please input the next date name:\t",sizeof(new1)) ;
scanf("%s",datename) ;
if(datename[0]=='0' )
break;
new1->number=datenum;
for(i=0;i<max;i++)
new1->name[i]=datename[i];
new1->next=NULL;
pointer->next=new1;
pointer=new1;
}
}
return head;
}
void main()
{ link head,pointer;
head=creatlist(head) ;
pointer=head;
printlist(pointer);

freelist(pointer);


getch();
return;

}
其中这段:
pointer=head;
printlist(pointer);

freelist(pointer);中的后两行程序中的pointer和head换与不换有什么区别和影响啊?/?



搜索更多相关主题的帖子: 内存 释放 
2006-01-01 13:45
沉默的羔羊1013
Rank: 1
等 级:新手上路
帖 子:72
专家分:0
注 册:2005-12-10
收藏
得分:0 

pointer=head;这句没有也可,直接用head做printlist,和freelist的参数可以

2006-01-01 23:49
快速回复:[讨论]内存分配与释放的问题
数据加载中...
 
   



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

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