Uvod u Pointere u C

U jeziku C ili drugim programskim jezicima imamo pojam varijable. Te se varijable koriste za držanje vrijednosti u njima. Takve se varijable mogu koristiti za vrijeme programiranja. Međutim, malo je zadataka koji ne zahtijevaju varijable, ali zahtijevaju adresu tih varijabli. Adresa varijabli znači mjesto memorije stvarno tamo gdje te varijable postoje. U ovoj ćemo temi naučiti o pokazateljima u C. Možemo definirati pokazivač kao vrstu varijable koja sadrži adresu bilo koje druge varijable koja može sadržavati neku vrijednost

Upotreba pokazatelja u jezicima programiranja i C

Sada, razgovarajmo o tome gdje C zapravo trebamo pokazivač. Postoji mnogo zadataka poput dinamičke raspodjele memorije za koje su potrebni pokazivači tijekom programiranja u C. Korištenje pokazivača takav se zadatak može jednostavno

Različiti načini pristupa promjenjivoj adresi u C

Pokušajmo znati koji su različiti načini na kojima možemo ispisati adresu varijable u C.

Postoje dva načina na koje zapravo možemo ispisati adresu varijable. Te dvije metode su:

  1. Korištenjem metode ampersand (&)
  2. Upotrebom pokazivača

Pogledajmo svaku metodu s primjerom

1. Korištenjem metode ampersand (&)

U ovoj metodi koristit ćemo koncept ampersand za ispis adrese varijable

Pogledajmo to na primjeru

#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;
)

Sada kopirajte gornji isječak koda i pokrenite ga

Pokazat će sljedeći izlaz:

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

Iako, može se vidjeti drugačija vrijednost koja je dodijeljena nasumično tijekom pokretanja primjera

Gore navedeni primjer nije mnogo korišten, ali vrijedi ga znati. Pogledajmo sada drugi koncept o kojem razgovaramo u ovoj temi.

2. Upotrebom pokazivača

Ovo je moderan pristup pristupu adresi varijable. Prije uporabe pokazivača, obavijestite nas o općoj sintaksi proglašavanja pokazivača

  • Opća sintaksa proglašavanja pointera - Uobičajena sintaksa koju koristimo za proglašavanje varijable je:

data_type *variable

Ovo je uobičajeni način deklariranja bilo kojeg pokazivača na C, ovdje data_type predstavlja vrstu varijable čija adresa treba biti spremljena. * označava da je deklarirana varijabla pokazivač. varijabla se jednostavno koristi za pristup vrijednosti

Jednostavni primjer je:

double *var_text

Nakon rasprave o konceptu Generalne sintakse deklariranja pointera , javite nam kako možemo koristiti pokazivač u programiranju

Za korištenje pokazivača na C potrebno je slijediti sljedeća tri koraka:

  • Definiranje varijable pointera
  • Dodjeljivanje adrese varijable čiju adresu želimo zadržati u varijabli pointera
  • Sada, nakon što imamo varijablu pokazivača s adresom, možemo ponovno pronaći vrijednost varijable s adrese pohranjene u pokazivaču. To se može učiniti pomoću * u C. * jednostavno je jedan od unry operatora

Koristimo gore navedene korake s primjerom, a zatim ćemo objasniti ovaj primjer, korak po korak

Primjer

#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;
)

Sada kopirajte gornji isječak koda i pokrenite ga

Pokazat će sljedeći izlaz:

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

Pokušajmo razumjeti gornji primjer

Linija int varNumValue = 10; jednostavno deklarira varijablu sa vrijednošću 10

Drugi redak koji je red uz nju: int * ipointervarNumValue; jednostavno je deklarirano za spremanje adrese varijable

Sljedeći isječak koda je: ipointervarNumValue = & varNumValue; koristi se za držanje adrese varijable. Ovdje koristimo koncept ampersand o kojem smo raspravljali ranije u članku

Sada jednostavno možemo dobiti vrijednost i upotrijebiti pokazivač u našem isječku koda

Pogledajmo sada različite vrste pokazivača na C

Vrste pokazivača u C

Postoje različite vrste pokazivača na C. Osnovne vrste pokazivača koje se općenito koriste su:

  • NULL Pointer
  • Dangling Pointer
  • Generički pokazatelji
  • Divlji pokazivač

Objasnimo vam svaki

1. Null Pointer: Null pointer je vrsta pokazivača koja ne upućuje na ništa. Obično ukazuje na osnovnu adresu segmenta. U slučaju da se pokazivaču ništa ne dodijeli, tada ima nultu vrijednost

Obično se koristi u datotekama zaglavlja poput stdio.h, alloc.h

2. Dangler Pointer: Ova vrsta pokazivača može se stvoriti brisanjem objekta bez izmjene vrijednosti pokazivača

3. Generic Pointer: Ova vrsta pokazivača je deklarirana pomoću varijable tipa void. Budući da je nevažećih vrsta podataka, stoga se naziva i generičkim pokazateljem. Ova vrsta pokazivača ne upućuje na nikakve podatke

4. Divlji pointer: Pointer koji se nije inicijalizirao poznat je kao divlji pointer. Ova vrsta pokazivača se inicijalizira tijekom vremena pokretanja kada ga treba koristiti. Ova vrsta pokazivača poznata je kao divlji pointer

Zaključak

Pokazivači na C koriste se za upućivanje na adresu varijable. Te se varijable koriste za dinamičko raspoređivanje memorije u C. Ove se varijable deklariraju zvjezdicom kako bi pokazale da je varijabla pointer. Oni se koriste u zaglavlju datoteke u programiranju.

Preporučeni članci

Ovo je vodič za Pokazivače u C. Ovdje smo raspravljali o različitim vrstama i upotrebi pokazivača na C s metodama i primjerima. Možete također pogledati sljedeće članke da biste saznali više -

  1. Što je programski jezik?
  2. C u odnosu na C ++
  3. Obrasci u C programiranju
  4. Najbolji C sastavljači
  5. Vodič po pokazateljima na C ++
  6. Pokazivači u C # s primjerima

Kategorija: