Pointeurs C++
Création de pointeurs
Vous avez appris du chapitre précédent, que nous pouvons obtenir l' adresse mémoire d'une variable en utilisant l' &
opérateur :
Exemple
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)
Cependant, un pointeur est une variable qui stocke l'adresse mémoire comme sa valeur .
Une variable de pointeur pointe vers un type de données (comme int
ou string
) du même type et est créée avec l' *
opérateur. L'adresse de la variable avec laquelle vous travaillez est assignée au pointeur :
Exemple
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";
Exemple expliqué
Créez une variable de pointeur avec le nom ptr
, qui pointe vers une string
variable, en utilisant le signe astérisque
*
( string* ptr
). Notez que le type du pointeur doit correspondre au type de la variable avec laquelle vous travaillez.
Utilisez l' &
opérateur pour stocker l'adresse mémoire de la variable appelée food
et affectez-la au pointeur.
Maintenant, ptr
contient la valeur de food
l'adresse mémoire de .
Astuce : Il existe trois manières de déclarer des variables de pointeur, mais la première est préférable :
string* mystring; // Preferred
string *mystring;
string * mystring;