Puntatori ai suggerimenti

Puntatori ai suggerimenti

Nel linguaggio di programmazione C ++, un puntatore sembra essere una variabile che può salvare o contenere l'indirizzo di un'altra variabile ed essere utilizzato per fare riferimento a qualsiasi altro punta aggiuntivo. I due diversi usi dei puntatori sono di salvare la memoria e accelerare la velocità del processore.

Tipi di puntatori in C++

Diversi tipi di puntatori nel linguaggio di programmazione C ++ sono condivisi e spiegati di seguito:

Puntatore null

Un puntatore null può essere creato o eseguito se forniamo un valore "nullo" dichiarando il puntatore. Questo metodo risulta utile se al puntatore non è stato assegnato alcun valori. All'interno di un puntatore null, 0 è sempre presente come valore di punta. Diamo un'occhiata a un'illustrazione dell'utilizzo del puntatore null nel codice.

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

int *i = null;
cout << "The value of variable i: " << i;
restituzione 0;

All'inizio del codice, il file di intestazione sarebbe integrato. Lo spazio dei nomi standard "STD" verrebbe quindi utilizzato. Quindi, il metodo principale () verrebbe eseguito. Qui, il puntatore della variabile "i" sarebbe dichiarato. Il valore di questo puntatore sarebbe assegnato come "null". Successivamente, il comando "cout" verrebbe utilizzato per mostrare il risultato. Per interrompere il programma, impiegheremmo una dichiarazione di reso 0.

Vuoto puntatore

Non esiste un tipo di dati standard per il puntatore vuoto. Questo tipo di puntatore viene solitamente creato usando il termine "vuoto". Uno dei principali usi di questo puntatore è quello di archiviare o mantenere l'indirizzo di qualche altra variabile.

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

void *z = null;
cout << "The size of z: " << sizeof(z);
restituzione 0;

Il file di intestazione sarebbe integrato all'inizio del programma. Inoltre, utilizzeremo lo spazio dei nomi predefinito come "STD". Il metodo principale () viene chiamato. Il puntatore "z" variabile sarà dichiarato nel prossimo passaggio. Ci viene assegnato il valore "null" per questo puntatore. Il comando "cout" visualizzerebbe la dimensione del puntatore richiesto. La funzione sizeof () verrebbe utilizzata per determinare la dimensione del puntatore. Utilizzando l'istruzione Return 0, potremmo porre fine al programma.

Puntatore al puntatore

Abbiamo già discusso che in C ++, viene utilizzato un puntatore per contenere l'indirizzo di una variabile. Un puntatore accelera l'accesso di una variabile. Per tenere l'indirizzo di qualche altro puntatore, un puntatore può anche essere definito in C++. In una funzione puntatore a puntatore, l'indirizzo variabile viene memorizzato nel primo puntatore. D'altra parte, il primo indirizzo di puntatore viene solitamente memorizzato nel secondo o in qualche altro puntatore.

Sintassi

Esempio 1

Ora vedremo l'uso di un puntatore al puntatore in C++.

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

int x = 16;
int *m;
int ** mm;
m = & x;
mm = & m;
cout << "The address of the variable x: " << m <cout << "The address of the variable m: " << mm <cout << "The value stored in the variable m: " << *m <cout << "The value stored in the variable mm: " << **mm <

Il programma verrà avviato integrando il file di intestazione . Questa libreria verrà applicata per eseguire diverse funzionalità di input e output. Innanzitutto, inizializzeremmo la variabile "x" e gli assetteremmo il valore. Il puntatore che salva l'indirizzo della variabile "x" sarà dichiarato nel passaggio successivo. Creeremmo quindi un altro puntatore. Qui indicare il primo puntatore all'indirizzo di "X". Il valore del primo puntatore, "M", sarebbe dove punterebbe il doppio pointer. Chiameremmo la dichiarazione "cout" quattro volte. I primi due comandi "cout" stampano l'indirizzo della variabile e del puntatore specificati.

Esempio n. 2

Diamo un'occhiata a un'illustrazione di un puntatore che fa riferimento a un altro puntatore per indirizzo.

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

int v [12] = 102, 212, 870, 169, 581, 721;
int *d [] = v, v+1, v+2, v+3, v+4, v+5;
int ** dd = d;
dd ++;
cout << dd-d,*dd - v,**dd;
*dd ++;
cout << dd-d,*dd - v,**dd;
++*dd;
cout << dd-d,*dd - v,**dd;
++** DD;
cout << dd-d,*dd - v,**dd;

La biblioteca sarebbe incorporata all'inizio del codice. Questo modulo contiene i metodi di input e output. Ora avremmo iniziato la codifica all'interno del corpo della funzione principale (). Qui, abbiamo creato per la prima volta l'array. Questo array contiene sei valori. Questi valori sono memorizzati nella variabile "V".

Quindi, dichiariamo l'array per il puntatore chiamato "D". Nel passaggio successivo, dichiarare un doppio puntatore. Quindi potremmo incrementare il valore del puntatore. Il doppio puntatore è impiegato con il puntatore aritmetico. È costruito come un array a 6 elementi con un array di puntatori (d). I puntatori che si riferiscono a ciascun membro dell'array costituiscono gli elementi di "D". Poiché l'indirizzo di base dell'array è contenuto nel nome dell'array, funzionerà come un puntatore e si può accedere al suo valore utilizzando *(V), *(V+1), *(V+2), *(V +3), *(V+4), *(V+5). Alla fine, applichiamo il comando "cout" per visualizzare le uscite.

Vantaggi dell'uso dei puntatori per i puntatori in C++

  • L'accesso alle posizioni di memoria è reso più semplice con i puntatori.
  • I componenti di una struttura di array possono essere accessibili in modo efficiente tramite puntatori.
  • Sia la sezione e l'allocazione della memoria dinamica richiedono puntatori.
  • Strutture di dati complesse, come elenchi collegati, grafici, alberi, ecc., sono creati usando i puntatori.

Svantaggi dell'uso dei puntatori per i puntatori in C++

  • Potrebbe essere difficile comprendere i suggerimenti.
  • I puntatori possono causare diversi problemi, inclusi guasti di segmentazione e accesso alla memoria non autorizzato.
  • La corruzione della memoria potrebbe derivare dal dare a un puntatore un valore impreciso.
  • Le perdite di memoria possono verificarsi anche attraverso i puntatori.
  • I puntatori inizializzano più lentamente delle variabili.
  • Poiché i suggerimenti manipolanti possono essere estremamente impegnativi per i programmatori, sono tenuti a farlo con saggezza.

Conclusione

In questo articolo, abbiamo discusso dei puntatori utilizzati nel linguaggio di programmazione C ++, dei suoi vantaggi, svantaggi, sintassi e applicazioni. Inoltre, abbiamo discusso del puntatore al puntatore nel linguaggio C ++. Inoltre, abbiamo eseguito programmi diversi per dimostrare come e quando usare i puntatori per i puntatori in C++. Vediamo anche come usare il puntatore vuoto e null in C ++ implementando i codici.