定义链表时为何不使用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;
}
输出结果为