C: Hogyan működik a struct csomópont * következő? [zárt]

Zárt . Ehhez a kérdéshez részletekre vagy egyértelműségre van szükség . Jelenleg nem fogadja el a válaszokat.

Megjegyzések

  • Egyszerűen Node* néven deklarálva nem válik sehova, csak azt mondja a fordítónak, hogy ' mutat valamilyen Node mutatót (vagy egyáltalán nem Node). Léteznie kell tényleges kódnak, amely a next mutatót a következő Node pontra állítja. Ezért zavart?
  • Mivel (még) nincs struct Node, ennek egyetlen tagja sem létezik. Így egyetlen tag sem mutat sehova.

Válasz

A kódod csak egy kis darab a linkelt listából.

Az elképzelés az, hogy a listád a node-nak nevezett struktúra n előfordulásából áll. Mutatóra van szükségük közülük ELSŐ, ez a mutató megmondja ennek az első struktúrának a memóriahelyét (ehhez a helyet általában manuálisan kéri a malloc segítségével). Ennek a memóriablokknak a struktúráját a “Node” struktúrája határozza meg. Azt mondja, hogy először van néhány bájt az int számára (az sizeof int megmondja, hogyan mutch), majd van néhány bájt egy címhez (ez a “következő” mutatója). A csatolt lista utolsó elemén u általában null értéket használ a következő értékhez, így ellenőrizheti, hogy az aktív elem az utolsó. Elem hozzáadásához a listához u be kell állítania a memóriát hozzá, és az utolsó elem következő mutatóját a malloc által kiadott memóriahelyre kell cserélnie. (És ne felejtsd el nullázni az imént létrehozott elem következő mutatóját.)

Így egy összekapcsolt lista működik. Remélem, ez segít egy kicsit! összekapcsolt lista kép

megjegyzések

  • Valójában helyesebb lenne, ha a " következő nyíl " nyílra mutatna " Object " (vagy talán még jobb, a következő mező bal felső sarkában). Jelenleg úgy néz ki, hogy ' s a " következő " tagra mutat de a valóságban ' a következő adatpéldányra mutat ' s alapcímre. Kiválaszthatja azt is, hogy a ' s " következő elem miként mutasson a következő " elemre; rámutathat pl. NULL (ebben az esetben a lista csak egy irányban haladhat), vagy a lista első elemére mutathat (kör alakú összekapcsolt listát alkotva).
  • Természetesen megadhatja a lista minden tagja a " következő " és a a lista előző " eleme. Ez egy kicsit több könyvelést igényel a lista módosításakor, de lehetővé teszi a listán való haladást bármilyen irányban, ami előnyös lehet az olvasások során. Mint minden más, a mérnöki munkában, ez ' kompromisszumot jelent.

Válasz

Ez egy típusmeghatározás része. önmagában nem mutat semmire, ugyanazon okból kifolyólag, hogy nem lehet valódi kanapét és TV-t elhelyezni a nappali belsejében, amely egy ház tervrajzára van rajzolva. Egyszerűen meghatározza, hogy “mi az, aminek itt kellene lennie”.

A hivatkozott lista következő csomópontjára mutat, hogy amikor valaki ténylegesen létrehozza a csomópontokat, értéket rendel a mezőhöz. amelyet ez a definíció ír le, amely egy másik Node címet tartalmazó mutató.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük