struct SinglyLinkedListNode{
int data;
SinglyLinkedListNode* next = NULL;
};
SinglyLinkedListNode* init(int data){
SinglyLinkedListNode *newNode = (SinglyLinkedListNode*)malloc(sizeof(SinglyLinkedListNode));
newNode -> data = data;
**Line 1**
newNode -> next = NULL;
return newNode;
}
如果我没有将新Node
的next
指定为NULL
,那么我的循环将运行无限长的时间。为什么会这样?
创建新的Node
:时,next
不是自动设置为NULL
吗
SinglyLinkedListNode *newNode = init(5);
malloc()
分配的内存未初始化。如果不初始化newNode->next
字段,其值将不确定,这将导致链表出现问题。