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

小弟写了个单链表程序 用dev运行不起 有访问违例 ,但用TC就可以运行,请问高手是什么问题

#include<stdio.h>
#include<stdlib.h>
#define M 6
struct List
{
int data;
struct List *next;
};
typedef struct List *Lnode;
typedef Lnode Link;
Link L;
Link Initlist(Link L)
{

L=(Link)malloc(sizeof(Lnode));
L->next=NULL;
return L;

}
Link CreateList(Link L)
{
Link p;
int i,d;

for(i=M;i>0;--i)
{

scanf("%d",&d);
p=(Link)malloc(sizeof(Lnode));
p->data=d;
p->next=L->next;
L->next=p;
}
return L;
}
void PrintfL(Link L)
{
Link p;
p=L->next;
while(p!=NULL)
{
printf("%d\n",p->data);
p=p->next;
}
}
void VistElem_L(Link L,int i)
{
Link p;
int j;
int e;
p=L->next;
j=1;
while(p!=NULL&&j<i)
{
p=p->next;++j;
}

e=p->data;
printf("%d",e);
}
main()
{

/*Link L;*/ int e;
Initlist(L);
CreateList(L);
PrintfL(L);
VistElem_L(L,4);

system("pause");
system("pause");
L->next=NULL;
}

搜索更多相关主题的帖子: 链表 
2006-10-18 14:09
zhufeifei
Rank: 1
等 级:新手上路
威 望:2
帖 子:402
专家分:0
注 册:2006-8-11
收藏
得分:0 

初学数据结构,不知道这个链表类型定义有错没?
struct List
{
int data;
struct List *next;
};
typedef struct List *Lnode;//typedef struct List Lnode
typedef Lnode Link;//
typedef Lnode* Link
Link L;


在不断的拼搏与进取中,定能创造一片天地!
2006-10-22 09:00
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
以下是引用hankym在2006-10-18 14:09:25的发言:

小弟写了个单链表程序 用dev运行不起 有访问违例 ,但用TC就可以运行,请问高手是什么问题

#include<stdio.h>
#include<stdlib.h>
#define M 6
struct List
{
int data;
struct List *next;
};
typedef struct List *Lnode; //Lnode等价List *
typedef Lnode Link;//此处多余,Link就是Lnode.
Link L;
Initlist()//全局变量不需要做参数.,也无须返回.直接对它操作就可以.下同.
{

L=(Link)malloc(sizeof(node));//错误,下同
L->next=NULL;
}
Link CreateList(Link L)
{
Link p;
int i,d;

for(i=M;i>0;--i)
{

scanf("%d",&d);
p=(Link)malloc(sizeof(Lnode));
p->data=d;
p->next=L->next;
L->next=p;
}
return L;
}
void PrintfL(Link L)
{
Link p;
p=L->next;
while(p!=NULL)
{
printf("%d\n",p->data);
p=p->next;
}
}
void VistElem_L(Link L,int i)
{
Link p;
int j;
int e;
p=L->next;
j=1;
while(p!=NULL&&j<i)
{
p=p->next;++j;
}

e=p->data;
printf("%d",e);//可以直接输出,不需辅助变量.
}
main()
{

/*Link L;*/ int e;
Initlist(L);
CreateList(L);
PrintfL(L);
VistElem_L(L,4);

system("pause");
system("pause");
L->next=NULL; //这样是不可以释放空间的,只是找不到这些已经分配的空间而已.
}



倚天照海花无数,流水高山心自知。
2006-10-22 10:12
快速回复:求助 链表
数据加载中...
 
   



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

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