Разница между узлом, & узлом и узлом-> следующая в списке ссылок

0
// Program to insert node at front in linked list.

//Это простая программа в связанном списке, но я не понимаю разницу между//значениями & newNode, newNode и newNode-> next

void PushAtFrontLinkList(int value)
{
    if(head==NULL)
    {

        head=tail;
    }
    node* newNode=new node();
    newNode->data=value;
    newNode->next=head; 
    head=newNode;


    // Trying to differentiate between data contained in newNode and &newNode and newNode->next
    cout<<"just new node"<<newNode<<endl; // what will be contained in newNode?     cout<<"address of node"<<&newNode<<endl; // what will be contained in &newNode?  
    cout<<"new node next"<<newNode->next<<endl; // It will be the address of the next node?


}
  • 0
    это указатель на node * , указатель на node и указатель на node соответственно.
  • 0
    Означает ли это, что newNode должен содержать тот же адрес, который содержится в newNode-> next? Короче говоря, newNode будет содержать некоторый адрес или просто будет содержать структуру узла.
Показать ещё 3 комментария
Теги:
pointers
linked-list

2 ответа

1

НовыйNode будет содержать адрес для нового объекта узла, который вы только что создали. Что касается newNode-> next, он содержит адрес для следующего узла в списке.

Обратите внимание, что в конце будет объявлен новыйNode, а newNode-> следующий будет указывать на старый заголовок.

  • 0
    Благодарю. Но что будет содержать & newNode? Если я хочу передать адрес newNode какой-то другой функции (передать по ссылке), тогда передадут как функцию (newNode) или функцию (& newNode)?
  • 0
    Вы бы использовали function (newNode) . Это потому, что newNode уже является адресом. Обратите внимание, что вы объявили его как node* newNode . Тип node* (со звездочкой в конце) используется для объявления переменной, которая просто содержит адрес переменной типа node , то есть это просто указатель .
0

& newNode: адрес в памяти для узла newNode: узел для управления newNode-> следующий: указатель узла *, который следующий.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню