Cum se implementează indicatori în C ++?



Acest articol vă va prezenta conceptul de indicatori în C ++ și apoi îl veți urmări cu o demonstrație practică de susținere.

Indicatori în C ++ este o variabilă care deține adresa unei alte variabile în c ++. Adresa este stocată în variabila pointer și ajută la implementarea apelului prin referință.

Următoarele indicații vor fi tratate în acest articol,





Începând cu acest articol despre Pointeri pe C ++

Sintaxă:



tip de date * pointername EXEMPLU: int * ptr
  • O variabilă pointer are un semn * înaintea numelui său.
  • Un indicator este, de asemenea, numit localizator sau indicator.

Utilizări ale indicatorului:

public string tostring ()
  • Alocarea dinamică a memoriei
  • În diferite programe de matrice, structură și funcții

Iată un exemplu de cod:

#includeți utilizarea spațiului de nume 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' } 

Ieșire:
Ieșire- Pointeri în C ++ - Edureka



Explicaţie:

În programul de mai sus, arătăm funcționarea de bază a unui pointer. Avem o variabilă întreagă num cu valoarea 17. Avem variabila pointer ptr de tip int. Atribuim adresa num la indicatorul ptr.

Mai întâi tipărim valoarea ptr, adică adresa. Apoi, imprimăm valoarea num și, la final, imprimăm valoarea la locația deținută de indicatorul ptr.

Continuăm cu acest articol despre Pointeri pe C ++

Pointeri și tablouri:

Putem considera primul element al unui tablou ca un pointer, deoarece numele tabloului conține adresa primului element. Putem folosi un pointer în modul următor.

Iată un exemplu de cod:

#include folosirea spațiului de nume 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] } 
 Ieșire: 

Explicaţie:

În programul de mai sus, arătăm funcționarea de bază a unui pointer cu o matrice. Avem un array array cu valorile 5,10,20. Avem variabila pointer de tip int. Atribuim adresa lui arr indicatorului ptr.

Mai întâi tipărim valoarea ptr [0], adică primul element al matricei. Apoi, imprimăm al doilea și respectiv al treilea element. Deoarece elementele matricei sunt stocate consecutiv, astfel indicatorul poate accesa cealaltă locație a matricei prin incrementare.

Continuăm cu acest articol despre Pointeri pe C ++

Indicatori nul:

Există tipul de indicatori care nu au valoare și dețin o valoare nulă

Exemplu :

int *ptr=NULL

Sunt foarte utile în structuri de date, cum ar fi o listă legată.

Continuăm cu acest articol despre Pointeri pe C ++

Indicatori ai vidului:

Acestea sunt tipul de indicatori care nu au un tip de returnare.

Continuăm cu acest articol despre Pointeri pe C ++

Funcționarea aritmetică a indicatorului:

Diferite operații pot fi efectuate pe pointeri. Iată câteva tipuri importante.

  • incrementat (++)
  • decrementat (-)
  • diferența dintre doi indicatori (p1-p2)
  • adăugarea unui număr întreg la un pointer (+ sau + =)
  • scăderea unui număr întreg dintr-un pointer (- sau - =)

Iată un cod pentru a demonstra unele dintre aceste operații:

#include folosirea spațiului de nume std int main () {int arr [3] = {10, 100, 200} int * ptr ptr = arr for (int i = 0 i<3 i++) { cout << 'Value at different locations of array using *ptr = ' << *ptr << 'n' ptr++ } } 

Ieșire:

Explicaţie:

Demonstrăm că operația aritmetică simplă a incrementării variabilei pointer este prezentată în programul de mai sus.

Continuăm cu acest articol despre Pointeri pe C ++

Pointer to Pointer:

În acest tip de sistem, există două indicații. Primul indicator indică al doilea indicator, iar al doilea indicator indică variabila care deține valoarea.

Iată un exemplu de cod:

#include using namespace 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 } 

Ieșire:

Continuăm cu acest articol despre Pointeri pe C ++

Pointer către funcții:

Acesta este un mod de a trece indicii către funcții. Parametrul funcției trebuie declarat ca un tip de pointer. Este afișat în codul de mai jos,

#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 } 


Ieșire

Astfel trecem un pointer la o funcție.

Astfel am ajuns la sfârșitul acestui articol despre „Pointeri în C ++”. Dacă doriți să aflați mai multe, consultați de Edureka, o companie de învățare online de încredere. este conceput pentru a vă instrui atât pentru conceptele Java de bază, cât și pentru cele avansate, împreună cu diverse cadre Java, cum ar fi Hibernate & Spring.

Ai o întrebare pentru noi? Vă rugăm să o menționați în secțiunea de comentarii a acestui blog și vă vom răspunde cât mai curând posibil.