C: Miten struct solmu * seuraavaksi toimii? [suljettu]

Suljettu . Tämä kysymys tarvitsee yksityiskohtia tai selkeyttä . Se ei tällä hetkellä hyväksy vastauksia.

Kommentit

  • Sen yksinkertainen ilmoittaminen Node* ei saa sitä osoittamaan mihinkään, vaan kertoo kääntäjälle, että se ' sa osoitin johonkin Node (tai ei lainkaan Node). On oltava todellinen koodi, joka asettaa next osoittimen osoittamaan seuraavaan Node. Onko sinusta hämmentynyt?
  • Koska struct Node ei ole (vielä) yhtään jäsentä, sen jäseniä ei ole. Täten kukaan jäsen ei osoita minnekään.

Vastaa

Koodisi on vain pieni osa linkitetystä luettelosta.

Ajatuksena on, että luettelosi koostuu n solmun kutsumastasi strukturista. Tarvitset osoittimen ENSIMMÄISEEN niistä, tämä osoitin kertoo tämän ensimmäisen rakenteen muistipaikan (yleensä pyydät tilaa tälle manuaalisesti mallocilla). Tämän muistilohkon rakenteen määrittelee strukturoitu ”Solmu”. Se kertoo sinulle, että ensin on joitain tavuja intille (sizeof int kertoo kuinka mutch) ja sitten on joitain tavuja osoitteelle (tämä on osoitimesi ”seuraava”). Linkitetyn luettelon viimeisessä kohdassa u käytetään yleensä arvoa null seuraavana arvona, joten voit tarkistaa, onko aktiivinen nimikkeesi viimeinen. Jos haluat lisätä kohteen luetteloosi, sinun on yhdistettävä sen muisti ja vaihdettava viimeisen kohteen seuraava osoitin mallocin antamaan muistipaikkaan. (Ja älä unohda asettaa juuri luomasi kohteen seuraava osoitin nollaksi.)

Tällä tavalla linkitetty luettelo toimii. Toivottavasti tämä auttaa hieman! linkitetyn luettelon kuva

kommentit

  • Itse asiassa olisi oikeampi, jos nuoli " seuraavasta " osoittaisi kohtaan " Object " (tai ehkä vielä parempi, seuraavan ruudun vasemmassa yläkulmassa). Nykymuodossa näyttää siltä, että se ' osoittaa " seuraavaa " jäsentä strukturista, mutta todellisuudessa se ' osoittaa seuraavaan datan ilmentymään ' s perusosoitteeseen. Voit myös valita, mihin viimeisen elementin ' s " seuraavan " pitäisi osoittaa; se voi osoittaa esimerkiksi NULL (jolloin luetteloa voidaan kulkea vain yhteen suuntaan) tai se voi osoittaa luettelon ensimmäiseen elementtiin (muodostaen pyöreän linkitetyn luettelon).
  • Voit tietysti myös kukin luettelon jäsen osoittaa sekä " seuraavaan " että luettelon edellinen " -elementti. Tämä vaatii hieman enemmän kirjanpitoa muutettaessa luetteloa, mutta sallii luettelon kulkemisen mihin tahansa suuntaan, mikä voi olla hyödyllistä luettaessa. Kuten kaikessa muussa tekniikassa, ' on kompromissi.

Vastaa

Tämä on osa tyypin määrittelyä. Se sinänsä ei osoita mihinkään, samasta syystä, että et voi laittaa aitoa sohvaa ja televisiota olohuoneeseen, joka on piirretty talon piirustusten joukolle. Siinä määritetään yksinkertaisesti ”tämän pitäisi mennä tänne”.

Se osoittaa linkitetyn luettelon seuraavaan solmuun, että kun joku todella luo solmut, hän antaa kentälle arvon määritelty kuva, joka on osoitin, joka sisältää toisen Node osoitteen.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *