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 into 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 stringvariabile, 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 foode assegnarlo al puntatore.

Ora, ptrcontiene il valore dell'indirizzo fooddi memoria di .

Suggerimento: esistono tre modi per dichiarare le variabili puntatore, ma è preferibile il primo:

string* mystring; // Preferred
string *mystring;
string * mystring;

Esercizi C++

Mettiti alla prova con gli esercizi

Esercizio:

Crea una variabile puntatore con il nome ptr, che dovrebbe puntare a una stringvariabile denominata food:

string food = "Pizza";
  = &;