指针问题
#include <stdio.h>
#include <stdlib.h>
typedef int ElemType;
typedef struct node{
ElemType data;
struct node *next;
}LNode,*LinkList;
1、存在问题
void initlist(LNode *head)
{
head=(LNode *)malloc(sizeof(LNode));
head->next=NULL;
}
void main()
{
LNode *link;
initlist(link);
}
我原意是利用传递指针型结构变量来改变实参值,可这样传好像还是按值传递,产生了拷贝副本。为何如何改呢。
2、利用下面方法没问题
LNode * initlist()
{
LNode *head;
head=(LNode *)malloc(sizeof(LNode));
head->next=NULL;
return head;
}
void main()
{
LNode *link;
link=initlist();
}