Închis . Această întrebare are nevoie de
detalii sau claritate . În prezent, nu acceptă răspunsuri.
Comentarii
sa pointer to some Node
(sau nu Node
deloc). Trebuie să existe un cod real care setează indicatorul next
să indice următorul Node
. Despre asta ați fost confuz?
Deoarece nu există (încă) niciun struct Node
, nu există niciun membru al acestuia. Astfel, niciun membru nu indică nicăieri.
Răspuns
Codul dvs. este doar o mică parte dintr-o listă legată.
Ideea este că lista dvs. constă din n apariții ale structurii pe care ați numit-o „Nod”. Aveți nevoie de un pointer la PRIMUL dintre ele, acest pointer vă spune locația de memorie a acestei prime structuri (de obicei solicitați spațiul pentru aceasta manual cu malloc). Structura acestui bloc de memorie este definită de structura „Nod”. Vă spune că mai întâi există câțiva octeți pentru int (sizeof int vă spune cât de mutch) și apoi există câțiva octeți pentru o adresă (acesta este indicatorul dvs. „următor”). În ultimul articol din lista dvs. legată, utilizați de obicei valoarea nulă pentru următoarea, astfel puteți verifica dacă elementul dvs. activ este ultimul. Pentru a adăuga un articol la lista dvs., trebuie să mallocați memoria pentru acesta și să schimbați următorul indicator al ultimului articol la locația de memorie pe care malloc a dat-o. (Și nu uitați să setați următorul indicator al elementului pe care tocmai l-ați creat la nul.)
În acest fel funcționează o listă legată. Sper că acest lucru va ajuta puțin!
Comentarii
Răspuns
Aceasta face parte dintr-o definiție de tip. în sine nu indică nimic, din același motiv pentru care nu puteți pune o canapea reală și un televizor în interiorul unei camere de zi desenate pe un set de planuri pentru o casă. Pur și simplu specifică „asta ar trebui să meargă aici.”
Modul în care indică următorul nod dintr-o listă legată este că atunci când cineva creează nodurile, atribuie o valoare câmpului descris de acea definiție, care este un indicator care conține adresa altui Node
.