关于建立链表的一个疑点
关于建立链表的一个疑问
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个地址连续的链表并连接起来,但在初始化的时候有错,请各位看看
------解决方案--------------------
楼上发的有点蛋疼
------解决方案--------------------
5楼正解
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本身已经是一个指针了