Puntatori C++
Creazione di puntatori
Hai imparato dal capitolo precedente che possiamo ottenere l' indirizzo di memoria di una variabile usando l' &
operatore:
Esempio
string food = "Pizza";
// A food variable of type string
cout <<
food; // Outputs the value of food (Pizza)
cout << &food; // Outputs the memory address of food (0x6dfed4)
Un puntatore , tuttavia, è una variabile che memorizza l'indirizzo di memoria come valore .
Una variabile puntatore punta a un tipo di dati (come int
o string
) dello stesso tipo e viene creata con l' *
operatore. L'indirizzo della variabile con cui stai lavorando è assegnato al puntatore:
Esempio
string food = "Pizza"; // A food variable
of type string
string* ptr =
&food; // A pointer variable, with the name
ptr, that stores the
address of food
// Output the value of food (Pizza)
cout << food << "\n";
// Output
the memory address of food (0x6dfed4)
cout << &food << "\n";
//
Output the memory address of food with the pointer (0x6dfed4)
cout <<
ptr << "\n";
Esempio spiegato
Creare una variabile puntatore con il nome ptr
, che punta a una string
variabile, utilizzando il segno di asterisco
*
( string* ptr
). Nota che il tipo del puntatore deve corrispondere al tipo della variabile con cui stai lavorando.
Utilizzare l' &
operatore per memorizzare l'indirizzo di memoria della variabile chiamata food
e assegnarlo al puntatore.
Ora, ptr
contiene il valore dell'indirizzo food
di memoria di .
Suggerimento: esistono tre modi per dichiarare le variabili puntatore, ma è preferibile il primo:
string* mystring; // Preferred
string *mystring;
string * mystring;