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:
- Korištenjem metode ampersand (&)
- 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 -
- Što je programski jezik?
- C u odnosu na C ++
- Obrasci u C programiranju
- Najbolji C sastavljači
- Vodič po pokazateljima na C ++
- Pokazivači u C # s primjerima