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 intou 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 stringvariable, 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 foodet affectez-la au pointeur.

Maintenant, ptrcontient la valeur de foodl'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;

Exercices C++

Testez-vous avec des exercices

Exercer:

Créez une variable de pointeur avec le nom ptr, qui doit pointer vers une stringvariable nommée food:

string food = "Pizza";
  = &;