我有一個包含幾個節點的列表。我試圖通過將current->next
的值聲明爲NULL
來標記最終節點。將*下一個列表指針設置爲NULL
因此,假設我的current
指向最終節點。以下兩個代碼片段是否以不同的方式工作,如果是,如何?
current->next = NULL;
和
current = current->next;
current = NULL;
我一直在嘗試,現在這些了一段時間,但我真的不能明白是什麼在那裏怎麼回事。我會說他們正在做同樣的事情,因爲第二個人先將我的current
指向next
分,然後將其設置爲NULL
。
編輯:哦,我明白答案是什麼意思,現在看起來也很明顯:)。所以,如果我不使用第一種方法,但選擇去current = current->next
有沒有辦法讓我把NULL值放在我應該去的地方?我如何使用我的新current
來指出我的舊next
指向的位置?
這些是完全不同的事情。也許是一本好書的時間? – 2012-01-04 02:30:43
這些顯然是有效的陳述。第一個將把'current'所尋址的節點中的下一個字段設置爲null。第二對語句會將'current'設置爲'current'所尋址節點中'next'的值,然後用null覆蓋剛剛放在'current'中的值(使前面的語句無用)。 (如果你還沒有弄清楚指針是什麼概念的話。) – 2012-01-04 02:32:30
當談到指針時,我毫無希望。我已經閱讀了很多關於它們的簡單教程,我想我可以找到自己的方式,如果我正在處理簡單的整數或字符指針,但是如果它變得稍微複雜一點,我會立即丟失... – 2012-01-04 02:34:06