循环在创建单链表节点时无限执行


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;
}

如果我没有将新Nodenext指定为NULL,那么我的循环将运行无限长的时间。为什么会这样?

创建新的Node:时,next不是自动设置为NULL

SinglyLinkedListNode *newNode = init(5);

malloc()分配的内存未初始化。如果不初始化newNode->next字段,其值将不确定,这将导致链表出现问题。

相关内容

  • 没有找到相关文章

最新更新