C语言链表简单问题。画线部分的①②③个句子是什么意思啊(这是建立n个结点单链表的程序)?1. *head=NULL是代表把头指针的数据域赋值为空吗?还是指针域赋值为空,还是全都赋值为空啊?
2. if( head=NULL)呢?判断头指针数据域或者指针域或两者都为空?
3. head=newnode呢?把新结点的数据域给头指针?指针域给头指针?把头指针指向新结点?
还有,①的那个句子是把头指针指向一个结点吗?
非常非常非常感谢
单独看*head=NULL是把指针指向地址的值赋空,但节点指针,不会这么写,我想原代码肯定是定义指针的时候赋值NULL,比如node *head=NULL,这里实际意思相当于2句代码,node *head;(定义一个节点指针)head=NULL;(将指针的值赋值为NULL)
if( head=NULL);这句是有问题,你是不是想问if( head ==NULL),这里的意思是判断指针head有没有指向某个节点地址,一般用于判断记录首节点。
head=newnode,head是节点指针,newnode自然也是节点指针。原码估计是迭代不断用指针newnode指向新建的节点空间,比如newnode=(node *)malloc(sizeof(node));
再把第一个创建的节点地址传给head保存。