// 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?
}
НовыйNode будет содержать адрес для нового объекта узла, который вы только что создали. Что касается newNode-> next, он содержит адрес для следующего узла в списке.
Обратите внимание, что в конце будет объявлен новыйNode, а newNode-> следующий будет указывать на старый заголовок.
function (newNode)
. Это потому, что newNode
уже является адресом. Обратите внимание, что вы объявили его как node* newNode
. Тип node*
(со звездочкой в конце) используется для объявления переменной, которая просто содержит адрес переменной типа node
, то есть это просто указатель .
& newNode: адрес в памяти для узла newNode: узел для управления newNode-> следующий: указатель узла *, который следующий.
node *
, указатель наnode
и указатель наnode
соответственно.