Introducere în pointeri în C

În C sau alte limbaje de programare, avem un concept de variabilă. Aceste variabile sunt utilizate pentru a păstra valori în ea. Puteți utiliza astfel de variabile în timpul programării. Cu toate acestea, există câteva sarcini care nu necesită variabile, dar necesită adresa respectivelor variabile. Adresa variabilelor înseamnă locația memoriei efective unde există aceste variabile. În acest subiect, vom afla despre pointeri în C. Putem defini indicatorul ca un tip de variabilă care deține adresa oricărei alte variabile care ar putea deține o anumită valoare

Utilizarea pointerilor în limbajele de programare și C

Acum, să discutăm că în care C avem nevoie de indicator. Există multe sarcini, cum ar fi alocarea dinamică a memoriei, care necesită indicatoare în timp ce se programează în C. Utilizarea indicatoarelor se poate face cu ușurință

Moduri diferite de accesare a adresei variabile în C

Să încercăm să știm care sunt diferitele moduri prin care putem tipări adresa unei variabile în C.

Există două moduri prin care putem tipări adresa unei variabile. Aceste două metode sunt:

  1. Prin utilizarea metodei ampersand (&)
  2. Folosind indicatorul

Haideți să analizăm fiecare metodă cu un exemplu

1. Folosind metoda ampersand (&)

În această metodă, vom folosi conceptul ampersand pentru a tipări adresa unei variabile

Să arătăm acest lucru cu un exemplu

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

Acum, copiați fragmentul de cod de mai sus și rulați-l

Va afișa următoarea ieșire:

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

Cu toate că, se poate vedea valoarea diferită care este atribuită la întâmplare în timpul rulării exemplului

Exemplul menționat mai sus nu este foarte utilizat, dar merită să știți. Acum să ne uităm la celălalt concept despre care discutăm în acest subiect.

2. Utilizând Pointer

Aceasta este o abordare modernă pentru a accesa adresa unei variabile. Înainte de a utiliza indicatorul, spuneți-ne sintaxa generală a declarării unui indicator

  • Sintaxa generală de declarare a unui indicator - O sintaxă comună pe care o folosim pentru declararea unei variabile este:

data_type *variable

Acesta este un mod obișnuit de a declara orice indicator în C, aici data_type reprezintă tipul variabilei a cărei adresă trebuie stocată. * denotă că variabila declarată este un indicator. o variabilă este utilizată pur și simplu pentru accesarea valorii

Un exemplu simplu în acest sens este:

double *var_text

După ce am discutat conceptul de sintaxă generală de declarare a unui pointer , anunțați-ne cum putem folosi un pointer în programare

Pentru a utiliza un pointer în C, practic trebuie să urmați următorii trei pași:

  • Definirea variabilei indicatoare
  • Alocarea adresei variabilei a cărei adresă dorim să o păstrăm în variabila pointer
  • Acum, odată ce avem o variabilă pointer cu adresa, putem recupera din nou valoarea variabilei de la adresa stocată în pointer. Acest lucru s-ar putea face folosind * în C. * este pur și simplu unul dintre operatorii unari

Să folosim pașii menționați mai sus cu un exemplu și apoi vom explica acest exemplu pas cu pas

Exemplu

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

Acum, copiați fragmentul de cod de mai sus și rulați-l

Va afișa următoarea ieșire:

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

Acum, să încercăm să înțelegem exemplul de mai sus

Linia int varNumValue = 10; pur și simplu declară o variabilă cu valoarea 10

A doua linie care se află lângă ea: int * ipointervarNumValue; este pur și simplu declarat că stochează adresa variabilei

Următorul fragment de cod care este: ipointervarNumValue = & varNumValue; este utilizat pentru a menține adresa variabilei. Aici, folosim conceptul de ampersand despre care am discutat anterior în articol

Acum, putem doar să obținem valoarea și să folosim un indicator în fragmentul nostru de cod

Acum, să ne uităm la diferite tipuri de indicator în C

Tipuri de pointer în C

Există diferite tipuri de pointer în C. Tipurile de bază ale indicatorului care sunt utilizate în general sunt:

  • Pointer NULL
  • Punctul de scurgere
  • Pointere generice
  • Pointer sălbatic

Să ne explicăm fiecare

1. Null Pointer: Un pointer null este un tip de pointer care nu indică nimic. În general indică adresa de bază a segmentului. În cazul în care nimic nu este atribuit indicatorului, atunci acesta are o valoare nulă

Este de obicei utilizat în fișierele antet precum stdio.h, alloc.h

2. Dangler Pointer: Acest tip de pointer poate fi creat prin ștergerea obiectului fără modificarea valorii pointerului

3. Pointer Generic: Acest tip de pointer este declarat folosind o variabilă de tip void. Întrucât este de tipul de date voide, prin urmare, este denumit un indicator general. Acest tip de indicator nu indică date

4. Pointer sălbatic: Un pointer care nu a fost inițializat este cunoscut sub numele de pointer sălbatic. Acest tip de pointer este inițializat în timpul rulării când trebuie să îl folosești. Acest tip de pointer este cunoscut sub numele de pointer sălbatic

Concluzie

Punctele în C sunt utilizate pentru a indica adresa variabilei. Aceste variabile sunt utilizate pentru alocarea dinamică a memoriei în C. Aceste variabile sunt declarate cu un asterisc pentru a arăta că variabila este un indicator. Acestea sunt utilizate în fișierul antet în programare.

Articole recomandate

Acesta este un ghid pentru indicatorii în C. Aici discutăm diferitele tipuri și utilizări ale indicatoarelor în C cu metode și exemple. De asemenea, puteți arunca o privire la următoarele articole pentru a afla mai multe -

  1. Ce este un limbaj de programare?
  2. C vs C ++
  3. Modele în programarea C
  4. Cele mai bune compilatoare C
  5. Ghid pentru indicatorii în C ++
  6. Indicatori în C # cu exemple