Differenza tra puntatore e riferimento

Autore: Laura McKinney
Data Della Creazione: 1 Aprile 2021
Data Di Aggiornamento: 5 Maggio 2024
Anonim
Puntatori: Teoria ed Esercizi in C
Video: Puntatori: Teoria ed Esercizi in C

Contenuto


Il "puntatore" e il "riferimento" vengono entrambi utilizzati per puntare o fare riferimento a un'altra variabile. Ma la differenza fondamentale tra entrambi è che una variabile puntatore punta a una variabile la cui posizione di memoria è memorizzata in essa. La variabile di riferimento è un alias per una variabile che le è assegnata. La tabella di confronto seguente esplora le altre differenze tra un puntatore e un riferimento.

  1. Tabella di comparazione
  2. Definizione
  3. Differenze chiave
  4. Conclusione

Tabella di comparazione

Base per il confrontopointerRiferimento
Di baseIl puntatore è l'indirizzo di memoria di una variabile.Il riferimento è un alias per una variabile.
ritornaLa variabile puntatore restituisce il valore situato all'indirizzo memorizzato nella variabile puntatore, preceduto dal segno del puntatore *.La variabile di riferimento restituisce l'indirizzo della variabile preceduto dal segno di riferimento &.
operatori *, ->&
Riferimento nullLa variabile puntatore può fare riferimento a NULL.La variabile di riferimento non può mai fare riferimento a NULL.
Inizializzazione È possibile creare un puntatore non inizializzato.Un riferimento non inizializzato non può mai essere creato.
Tempo di inizializzazioneLa variabile puntatore può essere inizializzata in qualsiasi momento nel programma.La variabile di riferimento può essere inizializzata solo al momento della sua creazione.
reinizializzazioneLa variabile puntatore può essere reinizializzata tutte le volte che è necessario.La variabile di riferimento non può mai essere reinizializzata di nuovo nel programma.


Definizione di puntatore

Un "puntatore" è una variabile che contiene la posizione di memoria di un'altra variabile. Gli operatori utilizzati dalla variabile puntatore sono * e ->. La dichiarazione della variabile puntatore contiene il tipo di dati di base seguito dal segno "*" e dal nome della variabile.

digitare * var_name;

Cerchiamo di capire il puntatore con l'aiuto di un esempio.

int a = 4; int * ptr = & a; cout <considerando che l'operatore di riferimento è &.

  • Una variabile puntatore se non porta alcun indirizzo di variabile che punta a null. D'altra parte, una variabile di riferimento non può mai fare riferimento a Null.
  • Puoi sempre creare una variabile puntatore unitializzata, ma creiamo un riferimento quando abbiamo bisogno di un alias di una variabile in modo da non poter mai creare un riferimento unitializzato.
  • È possibile reinizializzare un puntatore ma una volta inizializzato arefernce non è possibile reinizializzarlo di nuovo.
  • È possibile creare un puntatore vuoto e inizializzarlo in qualsiasi momento, ma è necessario inizializzare il riferimento solo quando si crea un riferimento.
  • Nota:


    Java non supporta i puntatori.

    Conclusione

    Il puntatore e il riferimento sono entrambi utilizzati per puntare o fare riferimento a un'altra variabile. Entrambi si differenziano per utilizzo e implementazione.