Kako uporabiti kazalce v jeziku C ++?



Ta članek vas bo seznanil s konceptom kazalcev v jeziku C ++ in nato nadaljeval s podpornim praktičnim prikazom.

Kazalci v jeziku C ++ je spremenljivka, ki vsebuje naslov druge spremenljivke v jeziku c ++. Naslov je shranjen v spremenljivki kazalca in pomaga pri izvedbi klica po referenci.

V tem članku bodo zajeti naslednji napotki:





Začenši s tem člankom o Kazalcih na C ++

Sintaksa:



kako združiti podatke v tabeli
tip podatkov * ime kazalca PRIMER: int * ptr
  • Kazalna spremenljivka ima pred imenom znak *.
  • Kazalec se imenuje tudi lokator ali indikator.

Uporaba kazalca:

  • Dinamično dodeljevanje pomnilnika
  • V različnih programih nizov, strukture in funkcij

Tu je primer kode:

#include z uporabo imenskega prostora std int main () {int num = 17 int * ptr ptr = & num cout<< 'Value at ptr = ' << ptr << 'n' cout << 'Value at var = ' << num << 'n' cout << 'Value at *ptr = ' << *ptr << 'n' } 

Izhod:
Izhodni kazalci v jeziku C ++ - Edureka



Pojasnilo:

V zgornjem programu prikazujemo osnovno delovanje kazalca. Imamo celoštevilčno spremenljivko num z vrednostjo 17. Imamo kazalno spremenljivko ptr tipa int. Kazalec ptr dodelimo naslov num.

Najprej natisnemo vrednost ptr, to je naslov. Nato natisnemo vrednost num in na koncu vrednost natisnemo na mestu, ki ga drži kazalec ptr.

Nadaljujemo s tem člankom o Kazalcih na C ++

Kazalci in nizi:

Prvi element matrike lahko obravnavamo kot kazalec, saj ime polja vsebuje naslov prvega elementa. Kazalec lahko uporabimo na naslednji način.

Tu je primer kode:

#include z uporabo imenskega prostora std int main () {int arr [3] = {5, 10, 20} int * ptr ptr = arr cout<< 'Elements of the array are: ' cout << ptr[0] << ' ' << ptr[1] << ' ' << ptr[2] } 
 Izhod: 

Pojasnilo:

V zgornjem programu prikazujemo osnovno delovanje kazalca z matriko. Imamo matriko arr z vrednostmi 5,10,20. Imamo kazalec spremenljivke ptr tipa int. Kazalec ptr dodelimo naslov arr.

Najprej natisnemo vrednost ptr [0], to je prvi element matrike. Nato natisnemo drugi oziroma tretji element. Ker se elementi matrike shranjujejo zaporedno, tako lahko kazalec dostopa do druge lokacije matrike s postopnim povečevanjem.

Nadaljujemo s tem člankom o Kazalcih na C ++

Nični kazalci:

Obstajajo vrste kazalcev, ki nimajo vrednosti in imajo ničelno vrednost

Primer :

int * ptr = NULL

Zelo so uporabni v podatkovnih strukturah, kot je povezan seznam.

Nadaljujemo s tem člankom o Kazalcih na C ++

spajanje razvrščanje c ++ izvedba

Prazni kazalci:

To so vrste kazalcev, ki nimajo vrste vrnitve.

Nadaljujemo s tem člankom o Kazalcih na C ++

Aritmetična operacija kazalca:

Na kazalcih je mogoče izvajati različne operacije. Tu je nekaj pomembnih vrst.

  • priraščeno (++)
  • zmanjšano (-)
  • razlika med dvema kazalcema (p1-p2)
  • dodajanje celotnega števila kazalcu (+ ali + =)
  • odštevanje celotnega števila od kazalca (- ali - =)

Tu je koda za predstavitev nekaterih teh operacij:

#include z uporabo imenskega prostora std int main () {int arr [3] = {10, 100, 200} int * ptr ptr = arr za (int i = 0 i<3 i++) { cout << 'Value at different locations of array using *ptr = ' << *ptr << 'n' ptr++ } } 

Izhod:

Pojasnilo:

Prikazujemo, da je v zgornjem programu prikazana preprosta aritmetična operacija priraščanja kazalne spremenljivke.

Nadaljujemo s tem člankom o Kazalcih na C ++

Kazalec na kazalec:

V tej vrsti sistema obstajata dva kazalca. Prvi kazalec kaže na drugi kazalec, drugi pa na spremenljivko, ki vsebuje vrednost.

Tu je primer kode:

#include z uporabo imenskega prostora std int main () {int num int * ptr int ** pptr num = 3000 ptr = & num pptr = & ptr cout<< 'Value of num :' << num<< endl cout << 'Value available at *ptr :' << *ptr << endl cout << 'Value available at **pptr :' << **pptr << endl return 0 } 

Izhod:

Nadaljujemo s tem člankom o Kazalcih na C ++

Kazalec na funkcije:

To je način podajanja kazalcev na funkcije. Parameter funkcije je treba deklarirati kot tip kazalca. To je prikazano v spodnji kodi,

#include using namespace std float getAverage (int * arr, int size) int main () {int balance [5] = {1432, 232, 3232, 17, 502} float avg avg = getAverage (balance, 5) cout<< 'Average value is: ' << avg << endl return 0 } float getAverage(int *arr, int size) { int i, sum = 0 double avg for (i = 0 i < size ++i) { sum += arr[i] } avg = double(sum) / size return avg } 


Izhod

Tako prenesemo kazalec na funkcijo.

Tako smo prišli do konca tega članka o 'Kazalcih na C ++'. Če želite izvedeti več, si oglejte Edureka, zaupanja vredno podjetje za spletno učenje. je zasnovan tako, da vas usposobi za osnovne in napredne koncepte Java, skupaj z različnimi ogrodji Java, kot sta Hibernate & Spring.

Imate vprašanje za nas? Prosimo, omenite to v oddelku za komentarje tega spletnega dnevnika, mi pa se vam bomo javili v najkrajšem možnem času.