定义链表时为何不使用node 而使用node*
#include <stdio.h>
#include<stdlib.h>
typedef struct LNode{
int data;
struct LNode *next;
}LNode,*LinkList;
void CreateList(LNode** header)
{
(header)=(LNode)malloc(sizeof(LNode));
(*header)->data=11;
(*header)->next=NULL;
}
int main()
{
LNode l;
LinkList head=NULL;
head=&l;
CreateList(&head);
//head 已经改变 但此时L还没有改变 不能使用&(&l)传参&l运算后存储在寄存器中,寄存>器变量不可取地址,取地址针对内存
/* -------------------------------------------------
定义node数组时采用node是为后面代码书写方便
-------------------------/
l=*head;
if((&l)!=NULL)
{
printf("%d\n",(&l)->data);//什么都没有输出
}
printf("hello word\n");
return 0;
}
输出结果为