有关链表的头指针
最近我看了几个程序,发现一个问题:一个单链表的表头到底是怎么个结构。struct stu{
int num;
struct *next;
};
以前我的理解就是:head指针就是链表第一个结点,如要输出链表第一个结点的值可以这么操作:printf("%d",head->num);
所谓的空表即是:head==NULL
现在我看了几个程序他们有的这么理解的:head->next是第一个结点的地址,所以要输出第一个结点的值就是:printf("%d",(head->next).num);
空表指:head->next==NULL
请问哪个是正确的理解。
如果以上理解都错,请给出正确答案.