标签:头结点 class 详细 color lse tail ret eof 现在
原则上不能对空指针操作。
因为水平有限,我现在对此理解还不是很深刻。
这和操作系统有关,以后详细了解一下操作系统相关的问题.
在编程中,如果对空指针操作,会出现错误。
例如:
在创建不带头结点的链表时,
List Read() { int n; scanf("%d",&n); List head = NULL,tail = head,p; while(n--) { p = (List)malloc(sizeof(List)); if(p) { scanf("%d",&p->Data); /* if(head == NULL) { head = p; tail = head; continue; } */
//如果没有他的话,就会出现对空指针的操作,因为tail被初始化为空指针.
tail->Next = p; tail = p; tail->Next = NULL; } else exit(1); } return head; }
改正后:
List Read() { int n; scanf("%d",&n); List head = NULL,tail = head,p; while(n--) { p = (List)malloc(sizeof(List)); if(p) { scanf("%d",&p->Data); if(head == NULL) { head = p; tail = head; continue; } tail->Next = p; tail = p; tail->Next = NULL; } else exit(1); } return head; }
标签:头结点 class 详细 color lse tail ret eof 现在
原文地址:https://www.cnblogs.com/zhang-zsq/p/12633736.html