Questo articolo fornisce una guida per trovare l'indirizzo di memoria di una variabile in C++.
Come determinare l'indirizzo di memoria di una variabile in C++
In C++, ci sono due metodi per determinare l'indirizzo di memoria di una variabile:
Metodo 1: trovare l'indirizzo di memoria della variabile utilizzando 'indirizzo di' e operatore
Quando ci viene richiesto di determinare l'indirizzo di memoria di una variabile, possiamo utilizzare il 'indirizzo dell'operatore' (&) , che restituisce l'indirizzo della variabile. Per visualizzare l'indirizzo di una variabile, utilizzare '&' insieme al nome della variabile.
Usiamo un programma di esempio per dimostrarlo:
#include
utilizzando lo spazio dei nomi std ;
int principale ( )
{
int num1 ;
galleggiante num2 ;
stringa str ;
cout << 'Inserisci un valore intero per trovare il suo indirizzo di memoria: ' ;
mangiare >> num1 ;
cout << 'Il numero inserito è: ' << num1 << finel ;
cout << 'Indirizzo di' << num1 << ' È: ' <<& num1 << finel ;
cout << 'Inserisci un valore decimale per trovare l'indirizzo di memoria: ' ;
mangiare >> num2 ;
cout << 'Il numero inserito è:' << num2 << finel ;
cout << 'Indirizzo di' << num2 << ' È :' <<& num2 << finel ;
cout << 'Inserisci una stringa per trovare il suo indirizzo di memoria: ' ;
mangiare >> str ;
per ( int io = 0 ; io < str. lunghezza ( ) ; ++ io )
cout << 'Indirizzo di' << str [ io ] << ' È :' << ( vuoto * ) & str [ io ] << finel ;
ritorno 0 ;
}
Le nostre etichette di variabili nel programma precedente sono num1, num2 e str, rispettivamente con i tipi di dati int, float e string. L'operatore '&' viene utilizzato con il nome della variabile per trovare il suo indirizzo di memoria. Va notato che l'output che fornisce l'indirizzo della variabile è un numero generato casualmente.
Metodo 2: trovare l'indirizzo di memoria di una variabile utilizzando un puntatore
In C++, gli indirizzi delle variabili possono anche essere ottenuti utilizzando i puntatori. Una variabile che contiene l'indirizzo di un'altra variabile viene chiamata puntatore. Un puntatore funziona come qualsiasi altra variabile che deve essere specificata prima di poter essere utilizzata. Un puntatore è definito in C++ con l'estensione '*' operatore, noto anche come operatore asterisco.
Diamo un'occhiata a un programma di esempio per trovare l'indirizzo di memoria usando il puntatore:
#include#include
utilizzando lo spazio dei nomi std ;
int principale ( ) {
int num1 ;
int * ptr_num1 = & num1 ;
galleggiante num2 ;
galleggiante * ptr_num2 = & num2 ;
stringa str ;
cout << 'Inserisci un valore intero per trovare il suo indirizzo di memoria: ' ;
mangiare >> num1 ;
cout << 'Il numero inserito è: ' << num1 << finel ;
cout << 'Indirizzo di' << num1 << ' È: ' << ptr_num1 << finel ;
cout << 'Inserisci un valore decimale per trovare l'indirizzo di memoria: ' ;
mangiare >> num2 ;
cout << 'Il numero inserito è: ' << num2 << finel ;
cout << 'Indirizzo di' << num2 << ' È: ' << ptr_num2 << finel ;
cout << 'Inserisci una stringa per trovare il suo indirizzo di memoria: ' ;
mangiare >> str ;
per ( int io = 0 ; io < str. lunghezza ( ) ; io ++ ) {
cout << 'Indirizzo di' << str [ io ] << ' È: ' << ( vuoto * ) & str [ io ] << finel ;
}
ritorno 0 ;
}
Le etichette delle variabili in questo programma sono num1, num2 e str, rispettivamente con i tipi di dati int, float e string. L'indirizzo della variabile viene determinato utilizzando il puntatore insieme al nome della variabile. Va notato che l'output che fornisce l'indirizzo della variabile è un numero generato casualmente.
Conclusione
Quando dichiariamo una variabile di qualsiasi tipo di dati in C++, le viene assegnata una posizione di memoria dal sistema operativo. Questa posizione di memoria è un numero arbitrario che non può essere negativo ed è noto come indirizzo della variabile. Conoscere l'indirizzo di memoria di una variabile può essere utile in alcuni scenari di programmazione. In questo articolo, abbiamo illustrato due metodi, il indirizzo dell'operatore(&) E variabili puntatore , per determinare l'indirizzo di memoria di una variabile in C++ insieme a semplici esempi.