Különbség A Mutató és A Tömb Között

Különbség A Mutató és A Tömb Között
Különbség A Mutató és A Tömb Között

Videó: Különbség A Mutató és A Tömb Között

Videó: Különbség A Mutató és A Tömb Között
Videó: C+ Haladóknak #4 - Statikus tömbök és mutatók kapcsolata 2024, Lehet
Anonim

Mutató vs Array

A mutató olyan adattípus, amely hivatkozást tartalmaz a memória helyére (azaz egy mutató változó egy olyan memóriahely címét tárolja, amelyben bizonyos adatok tárolódnak). A tömbök a leggyakrabban használt adatszerkezetek az elemek gyűjteményének tárolására. A legtöbb programozási nyelv módszereket kínál a tömbök egyszerű deklarálására és a tömbökben található elemek elérésére.

Mi az a mutató?

A mutató olyan adattípus, amely egy olyan memóriahely címét tárolja, amelyben bizonyos adatok vannak tárolva. Más szavakkal, a mutató hivatkozást tartalmaz a memória helyére. A mutató által hivatkozott memóriahelyen tárolt adatokhoz való hozzáférést alárendelésnek nevezzük. Ismétlődő műveletek, például fák / húrok áthaladása, asztalkeresés stb. Végrehajtása során a mutatók használata javítja a teljesítményt. A mutatók levonása és másolása ugyanis olcsóbb, mint a mutatók által mutatott adatok tényleges másolása és elérése. A null mutató olyan mutató, amely nem mutat semmire. A Java-ban egy null mutató elérése NullPointerException nevű kivételt generálna.

Mi az a tömb?

Az 1. ábra egy olyan kódrészlet, amelyet általában egy tömb deklarálásához és értékeinek hozzárendeléséhez használnak. A 2. ábra azt ábrázolja, hogyan néz ki egy tömb a memóriában.

értékek [0] = 100;

értékek [1] = 101;

értékek [2] = 102;

értékek [3] = 103;

értékek [4] = 104;

1. ábra: Kód az értékek deklarálásához és hozzárendeléséhez egy tömbhöz

100 101 102 103. 104 Index: 0 1 2 3 4

2. ábra: A memóriában tárolt tömb

A kód felett egy tömböt határozhat meg, amely 5 egész számot képes tárolni, és ezekhez 0 és 4 közötti indexek férnek hozzá. A tömb egyik fontos tulajdonsága, hogy a teljes tömböt egyetlen memóriablokkként osztják ki, és minden elem saját teret kap a tömbben. Miután meghatároztuk a tömböt, annak mérete rögzül. Tehát, ha nem biztos a tömb méretében fordításkor, akkor elég nagy tömböt kell meghatároznia ahhoz, hogy a biztonságos oldalon lehessen. De legtöbbször valójában kevesebb elemet fogunk használni, mint amennyit kiosztottunk. Tehát a memória jelentős része elpazarolható. Másrészt, ha az „elég nagy tömb” valójában nem elég nagy, akkor a program összeomlik.

Mi a különbség a mutató és a tömb között?

A mutató olyan adattípus, amely egy olyan memóriahely címét tárolja, amelyben bizonyos adatokat tárolnak, míg a tömbök a leggyakrabban használt adatszerkezetek az elemek gyűjteményének tárolásához. A C programozási nyelvben a tömbindexelés mutatószámtani alkalmazásával történik (azaz az x tömb i-edik eleme egyenértékű lenne * (x + i)). Ezért a C-ben tömbnek tekinthetők azok a mutatók, amelyek egymást követő memóriahelyek halmazára mutatnak. Továbbá különbség van abban, hogy az operátor mérete hogyan működik a mutatókon és tömbökön. Ha egy tömbhöz alkalmazzuk, a sizeof operátor a tömb teljes méretét adja vissza, míg egy mutatóra alkalmazva csak a mutató méretét adja vissza.

Ajánlott: