```#include <stdio.h>
#include <malloc.h>
typedef int ElemType;
typedef struct LNode
{
ElemType data;
void *next;
}LinkNode;
void InitList(LinkNode **L){
(L)=(LinkNode) malloc(sizeof(LinkNode));
(*L)->next=NULL;
}
void CreateListF(LinkNode **L, ElemType a[], int n)
{ LinkNode *s;//printf("%d\n",L);printf("%d\t%d\n",L->data,L->next);
//(L)=(LinkNode)malloc(sizeof(LinkNode));
//(*L)->next=NULL;
for(int i=0;i<=n;i++){
s=(LinkNode*)malloc(sizeof(LinkNode));
s->data=a[i];
s->next=(*L)->next;
(*L)->next=s;
}
}
void CreateListT(LinkNode **L, ElemType a[], int n){
LinkNode *s, *r;
}
void DispList(LinkNode **L){
LinkNode *p=(*L)->next;
//printf("%p %p %p %d ",p->next,(*L)->next,p,p->data);
while(p!=NULL){
//p=p->next;
printf("%d\t",p->data);
p=p->next;
}
printf("\n");
}
int main(){
LinkNode *L=NULL;
//printf("l1=%d\n",L->next);
//printf("l8=%d\n",&L);
ElemType a[4]={4,3,2,1};
InitList(&L);
CreateListF(&L,a,4);
DispList(&L);
}```
为什么会多输出一个地址