在基本的鏈表程序,這通常我實現它:鏈表箭頭操作
struct node {
int info;
struct node * next;
};
int main() {
struct node * head = malloc(sizeof(node)*3); //for 3 nodes
head->info = 1;
head->next->info = 2;
head->next->next->info = 3;
//more code
}
現在,打印的第二個節點的內容,我用以下語句:
cout<<head->next->info;
我的問題是,而不是使用上面的語句,可以在下面的使用:
cout<<head[1]->info;
'我通常執行它'。你永遠不應該實現它。你應該使用'std :: list'。 –
順便說一下,你的代碼是完全錯誤的 - 你的'next'指針都是未初始化的。無論如何,鏈接列表不應該是連續的元素塊。 –
在上面的實現中,您從未設置過'head-> next'或它的任何子節點的值。當您試圖解引用未初始化的指針時,這很可能會導致異常。 – Will