A C tanulása közben találkozhatott a „mutatók” kifejezéssel, és gyakran hallotta, hogy ez egy nehezen érthető fogalom. A mutatók segítenek a különféle programozási feladatokban, és ezt nem olyan nehéz megérteni. Ez a cikk bemutatja a C-ben található mutatókkal, és elmondja, miért nem olyan nehéz megtanulni őket, mint amilyennek látszanak.
Az alábbiakban bemutatjuk a cikkben szereplő mutatókat,
- Mi az a mutató?
- Referencia és visszavonási operátorok
- A mutatók típusai
- Hogyan használjunk egy mutatót
Kezdjük a mutató első bitjével a C cikkben,
a nagy adatelemzésben használt eszközök
Mutatók C-ben
Mi az a mutató?
A mutató egy olyan változó, amely képes egy változó címének tárolására. Most megkérdezheti, hogy mi haszna van ennek? Alapvetõen a mutató annak a változónak a memóriahelyére mutat, amelynek a címe meg van adva. Ez a tulajdonság segíti a dinamikus memória-elosztást, ami a programozás fontos szempontja.
Értsük meg, hogy ez a szintaxis, és nézzünk meg egy példát
Data_Type * pointername
Példa: int * ptr
Az alábbiakban a következő bit található ebben a C-mutatóban
Referencia és visszavonási operátorok
Mielőtt elmélyülnénk a mutató fogalmában, értsünk meg néhány alapot, amelyek a későbbiekben segítségünkre lesznek. Mutatók használata közben feltétlenül használja az & & és * * operátorokat. Itt az idő, hogy megértsük jelentésüket és használatukat.
Először is, értsük meg a Referencia operátort, amelyet gyakran „Cím” operátornak hívnak. Az (ampersand) operátor változóval történő használata egy memóriahelyet ad vissza, amelyet az adott változó címének is nevezünk.
Példa
int * ptr int a ptr = & a
Az „a” változó címe a ptr változóban van tárolva.
Most értsük meg a De-Referencing vagy az „Value at” operátort, amelyet csillag (*) jelöl. Segít az érték lekérésében a memória helyéről, amelyet a mutató változó tárol
Példa
int * ptr int a * ptr = & a printf ('a =% dn értéke, * ptr)
A mutató típusai A mutató deklarálásakor használt * nem a hivatkozás visszavonására szolgál, hanem azt mondja a fordítónak, hogy az adott változó mutató.A fenti nyomtatási utasítás kinyomtatja a memória helyén lévő értéket, és ezt a memóriahelyet a mutató mutatja. azaz az „a” változó értéke.
Különböző típusú mutatók léteznek, amelyek különböznek attól, hogy miként használják őket a programban.Megnézzük a leggyakrabban használt típusokat.
Null Pointer
Null értéket rendelünk egy mutatóhoz, ha nem biztos abban, hogy milyen címet kell hozzárendelni. Megtehető úgy, hogy a deklaráláskor egy mutatóhoz NULL értéket rendelünk. A mutató értéke 0.
absztrakció c ++ -ban
int * ptr = NULL
Vad Pointer
java konvertálja a dupla egész számra
A vadmutató úgy jön létre, hogy nem rendel hozzá értéket egy mutatóváltozóhoz. Óvatosan kell használni, mivel váratlan eredményeket okozhat.
Lógó mutató
Amikor egy mutató egy törölt változóra vagy a lefoglalt memóriára mutat, a mutatót függő mutatónak nevezik.Ez a mutató egy nem létező memóriahelyre mutat. Vessünk egy pillantást ennek a C-cikknek a következő mutatóira
Hogyan használjunk egy mutatót
Most rövid ismeretekkel rendelkezünk a referencia és a dereference operátorokról. Ebben a szakaszban megértjük, hogyan kell használni a mutatókat. Mostanáig megtanultuk, hogyan kell deklarálni egy mutatót és használni néhány alapvető művelethez. Ezen a ponton elegendő tudással rendelkezünk ahhoz, hogy mutatókat használjunk igazán elképesztő programozási feladatokhoz azáltal, hogy számtani műveleteket hajtunk végre rajtuk.
Normál esetben ezeket a műveleteket tömbökön hajtják végre. 2 cím levonása megadhatja számunkra a 2 memóriahely közötti távolságot.
int main () {int First_array [10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} / * Tömbünk, amelyen műveleteket fogunk végrehajtani * / int * ptr / * Pointer * / ptr = First_array / * Rendelje hozzá a tömb címét a * / for mutatóváltozóhoz (int i = 0 i<10 i++) /*Performing operations*/ { printf('Value of *ptr variable = %dn', *ptr) printf('Value of ptr variable = %pnn', ptr) ptr++ } }
Kimenet
Próbálja meg egyedül végrehajtani a kódot, és hajtson végre különböző számtani műveleteket.Használjunk karakterláncokkal ellátott mutatókat.
#include #include int main () {char str [] = 'Hello World' / * Tömb létrehozása * / char * p / * Mutató * / p = str printf ('A karakterláncunk összes karakterének nyomtatása') p = str for (int i = 0i
Ezzel eljutottunk a blog „Pointers In C” -jéhez. Remélem, hogy ezt informatívnak és hasznosnak találta, kövesse nyomon a hasonló témájú oktatóanyagokat. Lehet, hogy Ön is megvásárolja képzési programunkato alapos ismereteket szerezhet a jQuery-ről, annak különféle alkalmazásaival együtt élő online képzéshez 24/7 támogatással és egész életen át elérhető hozzáféréssel.Végezze el a fenti kódot különböző karakterláncokkal és módosításokkal. Most már jól értjük a mutatóval kapcsolatos összes kulcsfontosságú fogalmat.Van egy kérdésünk? Említse meg őket a blog megjegyzés rovatában, és mi kapcsolatba lépünk Önnel.