Condivisione della tecnologia

c Imparare la strada per intervistare

2024-07-08

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Qual è la differenza tra un riferimento e un puntatore?
  • Puntatori e riferimenti sono entrambi concetti di indirizzo. Un puntatore punta a un pezzo di memoria e il suo contenuto è l'indirizzo della memoria puntata un riferimento è un alias per un certo pezzo di memoria;

  • Il programma alloca un'area di memoria per le variabili puntatore ma non per i riferimenti.

  • Quando si utilizzano i puntatori, aggiungere * davanti ad essi e i riferimenti possono essere utilizzati direttamente.

  • I riferimenti vengono inizializzati quando vengono definiti e non possono essere modificati in seguito; i puntatori possono cambiare; Cioè, l'oggetto a cui si fa riferimento non può essere modificato, ma l'oggetto puntatore può essere modificato.

  • Non sono presenti riferimenti nulli, ma sono presenti puntatori nulli. Ciò rende il codice che utilizza i riferimenti più efficiente rispetto all'utilizzo dei puntatori. Perché non è necessario testare la validità di un riferimento prima di utilizzarlo. Al contrario, i puntatori dovrebbero sempre essere testati per evitare che siano nulli.

  • Usa "sizeof" su un riferimento per ottenere la dimensione della variabile e usa "sizeof" su un puntatore per ottenere la dimensione dell'indirizzo della variabile.

  • Teoricamente non esiste alcun limite al numero di livelli del puntatore, ma esiste un solo livello di riferimento. Cioè, non c'è alcun riferimento a un riferimento, ma può esserci un puntatore a un puntatore. int **p //Legale, int