所以我一直在自学链表,并且一直在为它们写一些非常基本的函数。基本上我一直在使用的东西
struct ListNode{
int data;
ListNode *next
};
我正在尝试制作一个将数字添加到列表中的功能,到目前为止我得到的是
void addToList(int numberToAdd, struct ListNode *headOfList){
ListNode *newItem=new ListNode;
newItem->data=numberToAdd;
if(headOfList==NULL){
newItem->next=NULL;
headOfList=newItem;
}}
到目前为止,我只尝试将单个 ListNode 添加到声明为的空列表中
ListNode *head=NULL;
在我的主要功能中。我遇到的问题是,在我做完我的
addToList(someRandomNumber,head);
如果我这样做,我会得到一个错误,
cout<<head->data;
但是如果我进入我的 addToList 函数并执行
cout<<headOfList->data;
它工作得很好。为什么会这样?