- 论坛徽章:
- 0
|
我不是想知道好不好,我是想知道他的原理,比如利用以下方式初始化一个链表就会出错
....
....
typedef struct Node /*结点类型定义*/
{
char use[10];
int x;
int y;
struct Node* next;
} Node, *Linklist;
void Initlist(Linklist L) /*初始化链表*/
{
L=(Linklist)malloc(sizeof(Node));
L->next=NULL;
}
void main{
Linklist L;
Initlisty(L); //这个地方出错,说使用了没有初始化的变量L
...
...
}
可以这样改正,实际上书上都是这么写的
....
....
typedef struct Node /*结点类型定义*/
{
char use[10];
int x;
int y;
struct Node* next;
} Node, *Linklist;
void Initlist(Linklist *L) /*初始化链表*/
{
*L=(Linklist)malloc(sizeof(Node));
(*L)->next=NULL;
}
void main{
Linklist L;
Initlist(&L);
....
....
}
但是为什么呢?想知道它的实质! |
|