Uvod v kazalce na C

V C ali drugih programskih jezikih imamo koncept spremenljivke. Te spremenljivke se uporabljajo za zadrževanje vrednosti v njih. Takšne spremenljivke lahko uporabljate med programiranjem. Vendar je malo nalog, ki ne zahtevajo spremenljivk, vendar zahtevajo naslov teh spremenljivk. Naslov spremenljivk pomeni pomnilniško mesto, ki je dejansko tam, kjer te spremenljivke obstajajo. V tej temi bomo spoznali kazalce v C. Kazalnik lahko definiramo kot vrsto spremenljivke, ki ima naslov katere koli druge spremenljivke, ki morda vsebuje neko vrednost

Uporaba kazalcev v programskih jezikih in C

Zdaj pa razpravljamo o tem, pri čemer C dejansko potrebujemo kazalec. Obstaja veliko nalog, kot je dinamična dodelitev pomnilnika, ki zahteva kazalce, ko programirate v C. Uporaba kazalcev bi takšno nalogo opravili enostavno

Različni načini dostopa do spremenljivega naslova na C

Poskusimo izvedeti, kakšni so različni načini, s katerimi lahko v C. natisnemo naslov spremenljivke.

Obstajata dva načina, s katerimi lahko dejansko natisnemo naslov spremenljivke. Ti dve metodi sta:

  1. Z uporabo metode ampersand (&)
  2. Z uporabo kazalca

Poglejmo vsako metodo s primerom

1. Z uporabo metode ampersand (&)

Pri tej metodi bomo uporabili koncept ampersand za tiskanje naslova spremenljivke

Poglejmo to s primerom

#include
int main () (
double varNumValue= 10.2;
char varTextValue(10) = “abc”;
printf("The address of variable varNumValue: %x\n", &varNumValue );
printf("varTextValue variable address is : %x\n", &varTextValue );
return 0;
)

Zdaj kopirajte zgornji delček kode in ga zaženite

Prikaže se naslednji izhod:

The address of variable varNumValue: a0665a48
The address of variable varTextValue is : a0665a3e

Čeprav je med prikazom primera mogoče videti drugačno vrednost, ki je dodeljena naključno

Zgoraj omenjeni primer ni veliko uporabljen, vendar ga je vredno vedeti. Poglejmo drugi koncept, o katerem razpravljamo v tej temi.

2. Z uporabo kazalca

To je sodoben pristop za dostop do naslova spremenljivke. Pred uporabo kazalca nas obvestite o splošni sintaksi razglasitve kazalca

  • Splošna sintaksa razglasitve kazalca - Pogosta sintaksa, ki jo uporabljamo za razglasitev spremenljivke, je:

data_type *variable

To je običajen način za prijavo katerega koli kazalca na C, tukaj data_type predstavlja vrsto spremenljivke, katere naslov je treba shraniti. * pomeni, da je deklarirana spremenljivka kazalec. spremenljivka se preprosto uporablja za dostop do vrednosti

Preprost primer tega je:

double *var_text

Po razpravi o konceptu splošne skladnje razglasitve kazalca nam sporočite, kako lahko uporabimo kazalec pri programiranju

Če želite uporabiti kazalec na C, morate v bistvu slediti naslednjim korakom:

  • Določitev spremenljivke kazalca
  • Dodelitev naslova spremenljivke, katerega naslov želimo imeti v spremenljivki kazalca
  • Ko imamo spremenljivko kazalca z naslovom, lahko ponovno pridobimo vrednost spremenljivke iz naslova, ki je shranjen v kazalcu. To bi lahko storili s pomočjo * in C. * je preprosto eden od enotnih operaterjev

Zgoraj uporabimo zgornje korake s primerom in nato bomo ta primer pojasnili korak za korakom

Primer

#include
int main () (
int varNumValue = 10;
int *ipointervarNumValue;
ipointervarNumValue = &varNumValue;
printf("Address of the variable varNumValue is: %x\n", &varNumValue );
printf("Address stored in the variable ipointervarNumValue is: %x\n", ipointervarNumValue);
printf("Value of the variable *ipointervarNumValue is: %d\n", *ipointervarNumValue );
return 0;
)

Zdaj kopirajte zgornji delček kode in ga zaženite

Prikaže se naslednji izhod:

Address of the variable varNumValue is: bf7b7f94
Address stored in the variable ipointervarNumValue is: bf7b7f94
Value of the variable *ipointervarNumValue is: 10

Zdaj pa poskusimo razumeti zgornji primer

Vrstica int varNumValue = 10; preprosto razglasi spremenljivko z vrednostjo 10

Druga vrstica, ki je zraven njega: int * ipointervarNumValue; je preprosto razglašen za shranjevanje naslova spremenljivke

Naslednji delček kode je: ipointervarNumValue = & varNumValue; se uporablja za zadrževanje naslova spremenljivke. Tukaj uporabljamo koncept ampersand, o katerem smo govorili prej v članku

Zdaj lahko preprosto dobimo vrednost in uporabimo kazalec v svojem delčku kode

Zdaj pa poglejmo v različne vrste kazalca na C

Vrste kazalca v C

Kazalniki v C. Obstajajo različne vrste kazalca, ki se običajno uporabljajo:

  • NULL kazalec
  • Dangling Pointer
  • Splošni kazalci
  • Divji kazalec

Naj razložimo vsakega

1. Null Pointer: Null kazalec je vrsta kazalca, ki ne kaže na nič. Na splošno kaže na osnovni naslov segmenta. V primeru, da kazalcu ni nič dodeljeno, ima to ničelno vrednost

Običajno se uporablja v datotekah glave, kot so stdio.h, alloc.h

2. Dangler kazalec: to vrsto kazalca lahko ustvarite tako, da izbrišete predmet, ne da bi spremenili vrednost kazalca

3. Generični kazalec: Ta vrsta kazalca se objavi z uporabo spremenljivke tipa void. Ker je ničnega tipa podatkov, ga imenujemo generični kazalec. Ta vrsta kazalca ne kaže na nobene podatke

4. Divji kazalec: Kazalec, ki se ni inicializiral, je znan kot divji kazalec. Ta vrsta kazalca se inicializira med časom izvajanja, ko ga je treba uporabiti. Ta vrsta kazalca je znana kot divji kazalec

Zaključek

Kazalniki v C se uporabljajo za kazanje na naslov spremenljivke. Te spremenljivke se uporabljajo za dinamično razporeditev pomnilnika v C. Te spremenljivke so označene z zvezdico, tako da se pokaže, da je spremenljivka kazalec. Te se uporabljajo v glavi datoteke pri programiranju.

Priporočeni članki

To je vodnik po kazalcih v C. Tukaj razpravljamo o različnih vrstah in uporabi kazalcev na C z metodami in primeri. Za več informacij si lahko ogledate tudi naslednje članke -

  1. Kaj je programski jezik?
  2. C proti C ++
  3. Vzorci v C programiranju
  4. Najboljši C prevajalci
  5. Vodnik po kazalcih v C ++
  6. Kazalniki v C # s primeri