head等于null,表示head无任何数据,没有数据和next指针
head == null和head->next = null是不等价的,后者表示存在head数据,但链表只有head一个节点数据。
struct Telphone /*自定义多数据域的链表*/
{
char name[20]
char address[20]
char zip[20]
char telphone[20]
struct Telphone *next /*链表指针域设定*/
}
typedef struct Telphone TEL //自定义
TEL *head=NULL
head=(TEL *)malloc(sizeof(TEL))
是否用mallo函数分配内存后head就变为了名叫head的节点了。
NULL 就是一个特殊的指针值, 其实本质是一个宏#define NULL (void *)0
也就是0值, 强制转成了指针。
用来表示一个指针非法。 所以在初始化的时候经常用NULL来初始化。
由于是非法指针, 所以对这个指针取值(*操作)会导致程序崩溃。 必须要先指向一个有效空间才可以。