Puntatori e riferimento C ++

Puntatori e riferimento C ++
In C ++, sia il puntatore che il riferimento sono due concetti potenti. Con l'aiuto di puntatore e variabile di riferimento, possiamo facilmente accedere alle nostre variabili normali facilmente. Ora, discutiamo in dettaglio sul concetto di puntatore e riferimento.

Pointer

Il puntatore è un tipo speciale di variabile. Memorizza l'indirizzo di un'altra variabile. Significa ogni volta che qualsiasi archivio variabile in memoria, ottiene un indirizzo specifico. Il puntatore memorizza questo indirizzo di quella particolare variabile.

Esempio di programmazione 1

#includere
Utilizzo dello spazio dei nomi std;
int main ()

int x = 15;
int *p; // dichiarando un puntatore
p = & x;
cout<< &x << endl ; // address of x ;
cout<< p << endl ; // pointing the address of x ;
cout<< *p << endl ; // Dereferencing of a pointer;
restituzione 0;

Produzione

Spiegazione
Qui, dichiariamo una variabile intera X e all'interno di X assegniamo 15. Ora abbiamo dichiarato una variabile puntatore di tipo intero *P.

p = & x;

Qui all'interno della variabile puntatore P, assegniamo l'indirizzo di x. L'indirizzo di X dipende totalmente dal nostro sistema operativo.

Se stampiamo e X, mostra l'output dell'indirizzo della variabile x.

Se stampiamo la variabile P, ottiene anche l'output dell'indirizzo della variabile x.

Ma se stampiamo la *P, in realtà è dereferenze sul nostro puntatore. Significa che ottiene l'output del valore di x variabile.

Esempio di programmazione 2

#includere
Utilizzo dello spazio dei nomi std;
int main ()

float x = 15;
float *p; // dichiarando un puntatore
p = & x;
cout<< &x << endl ; // address of x ;
cout<< p << endl ; // pointing the address of x ;
cout<< *p << endl ; // Dereferencing of a pointer;
restituzione 0;

Produzione

Spiegazione
Se prendiamo la variabile del tipo float x e assegniamo un certo valore 1.5, quindi dichiariamo un puntatore per tenere l'indirizzo di X, dobbiamo prendere il tipo di punta.

Qualsiasi puntatore contiene l'indirizzo della variabile; Entrambi hanno lo stesso tipo di dati. Altrimenti, si verifica un errore.

Puntatore aritmetico

In C ++ con l'aiuto del puntatore, abbiamo fatto alcune operazioni aritmetiche come incremento, decremento, aggiunta e sottrazione.

Esempio di programmazione 3

#includere
Utilizzo dello spazio dei nomi std;
int main ()

int x = 15;
int *p = & x;
cout<< p << endl ; // address of x ;
p ++; // incremento del puntatore
cout<< p << endl ;
restituzione 0;

Produzione

Puntatore e array

Array prende sempre la memoria in modo contiguo. Possiamo implementare un array con l'aiuto del puntatore. Perché quando il puntatore viene incrementato, punta sempre al blocco successivo dall'indirizzo di base dell'array. Sia il puntatore che l'array hanno lo stesso tipo di dati.

Esempio di programmazione 4

#includere
Utilizzo dello spazio dei nomi std;
int main ()

int i;
int arr [] = 5, 10, 15; // dichiarando un array;
int *p = arr; // inizializza il valore dell'array su un puntatore;
cout<< *arr << endl ;
per (i = 0; i < 3 ; i++)

cout<< *p << endl ;

restituzione 0;

Produzione

Spiegazione
Possiamo accedere a un array a un puntatore. In questo esempio, dichiariamo semplicemente un array e inizializzamo alcuni valori. L'indirizzo di base dell'array a un puntatore p. Ora possiamo stampare il valore di ciascun elemento dell'array tramite un puntatore. Se incrediamo il valore di PTR, va semplicemente al blocco successivo dall'indirizzo di base dell'array.

Riferimento

Tranne la normale variabile e puntatore, C ++ ci fornisce un tipo speciale di variabile chiamata variabile di riferimento. Ora apprendiamo la variabile di riferimento.

Caratteristiche della variabile di riferimento

  1. Prima di dichiarare una variabile di riferimento, scriviamo semplicemente "e" simbolo. Molti di noi hanno malinteso che "&" è trattato come indirizzo dell'operatore. Ma in realtà non è trattato così in termini di variabile di riferimento.
  2. Quando dichiariamo la variabile di riferimento in quel momento, l'inizializzazione deve essere eseguita. Altrimenti, si verifica un errore.
  3. La variabile di riferimento non può essere aggiornata.

Esempio di una variabile di riferimento

int x = 5;

Se vogliamo mantenere un nome alternativo di variabile X, dobbiamo seguire questa procedura.

int & y = a;

Significa che la variabile di riferimento viene creata solo per fare riferimento alla variabile esistente nel programma. Con l'aiuto della variabile di riferimento, accediamo alla variabile x.

Esempio di programmazione 5

#includere
Utilizzo dello spazio dei nomi std;
int main ()

int x = 15;
int & y = x;
cout<< x << “ “ << y << endl ;
++y;
cout<< x << “ “ << y << endl ;
restituzione 0;

Produzione

Spiegazione
Qui, introduciamo una variabile di riferimento y che si riferisce alla variabile x dalla riga & y = x. In X, è assegnato 5. Se vogliamo stampare la variabile xey, entrambi mostrano lo stesso risultato 5.

Se incrediamo 1 al valore di y e stampiamo sia la variabile X e Y, mostra lo stesso risultato 6.

Conclusione

Discutendo in dettaglio sul concetto di puntatore e riferimento, siamo giunti a questa conclusione che l'indirizzo è il concetto più potente in C++. Con l'aiuto di puntatore e riferimento, possiamo monitorare le variabili, l'array, la funzione, la struttura ecc. facilmente.