读书人

关于建立链表的一个疑点

发布时间: 2013-03-14 10:33:15 作者: rapoo

关于建立链表的一个疑问
typedef struct node
{
int data;
struct node *next;
}node,*list;

void main()
{
int i;
list *l;
l = (list *)malloc(10 * sizeof(node));
for(i=0;i<10;i++)
{
l[i]->next = NULL;
}
for(i=0;i<10;i++)
{
l[i]->next = l[i+1];
}
}

想一次性建立10个地址连续的链表并连接起来,但在初始化的时候有错,请各位看看
[解决办法]


#include<stdio.h> //修改

#include<stdlib.h> //修改


typedef struct node
{
int data;
struct node *next;
}node,*list;

void main()
{
int i;
list l; //修改

l = (list)malloc(10 * sizeof(node)); //修改

for(i=0;i<10;i++)
{
l[i].next = NULL; //修改
}
for(i=0;i<10;i++)
{
l[i].next = &l[i+1]; //修改

}
}



楼上发的有点蛋疼

[解决办法]
5楼正解

typedef struct node
{
int data;
struct node *next;
}node,*list;
// 这里给struct node起了个别名node,同时给struct node* 起了个别名list;
// 所以list本身已经是一个指针了

读书人网 >C语言

热点推荐