Menu
Coddy logo textTech

Opérateur de déréférencement

Fait partie de la section Logique et Flux du Journey C++ de Coddy — leçon 3 sur 56.

Maintenant que vous pouvez obtenir un pointeur vers une variable, vous devez apprendre comment accéder à la valeur à cette adresse mémoire et la modifier. C'est là que l'opérateur de déréférencement (*) devient essentiel.

L'opérateur de déréférencement * est utilisé pour accéder à la valeur stockée à l'adresse mémoire vers laquelle pointe un pointeur. Lorsque vous placez * devant une variable pointeur, il « suit » l'adresse et vous donne la valeur réelle qui y est stockée.

int number = 42;
int* ptr = &number;  // ptr stocke l'adresse de number
int value = *ptr;    // value contient maintenant 42

Vous pouvez également utiliser l'opérateur de déréférencement pour modifier la variable d'origine via le pointeur. Lorsque vous affectez une nouvelle valeur à *ptr, vous modifiez en réalité la valeur stockée à cet emplacement mémoire :

*ptr = 100;  // Modifie number à 100
// number est maintenant 100, même si nous l'avons modifié via ptr

Cet accès indirect est ce qui rend les pointeurs si puissants : vous pouvez lire et modifier des variables de n'importe où dans votre programme tant que vous avez un pointeur vers elles.

challenge icon

Défi

Facile

Créez un programme qui illustre l'opérateur de déréférencement en modifiant la valeur d'une variable via un pointeur.

Les entrées suivantes seront fournies :

  • Un entier représentant la valeur initiale d'une variable
  • Un entier représentant la nouvelle valeur à assigner via le pointeur

Votre programme doit :

  1. Déclarer une variable entière nommée temperature et l'initialiser avec la première valeur d'entrée
  2. Créer un pointeur nommé tempPtr qui pointe vers la variable temperature
  3. Afficher la valeur d'origine en déréférençant le pointeur
  4. Utiliser l'opérateur de déréférencement pour changer la valeur de temperature par la deuxième valeur d'entrée via le pointeur
  5. Afficher la nouvelle valeur en déréférençant à nouveau le pointeur

Utilisez le format de sortie exact suivant :

Original value: [original value]
New value: [new value]

Aide-mémoire

L'opérateur de déréférencement * est utilisé pour accéder à la valeur stockée à l'adresse mémoire vers laquelle pointe un pointeur :

int number = 42;
int* ptr = &number;  // ptr stocke l'adresse de number
int value = *ptr;    // value contient maintenant 42

Vous pouvez également utiliser l'opérateur de déréférencement pour modifier la variable d'origine via le pointeur :

*ptr = 100;  // Modifie number à 100
// number est maintenant 100, même si nous l'avons modifié via ptr

Cet accès indirect vous permet de lire et de modifier des variables de n'importe où dans votre programme tant que vous avez un pointeur vers elles.

Essayez vous-même

#include <iostream>
using namespace std;

int main() {
    // Lire les valeurs d'entrée
    int initialValue, newValue;
    cin >> initialValue;
    cin >> newValue;
    
    // TODO: Écrivez votre code ci-dessous
    // 1. Déclarer la variable temperature et l'initialiser avec initialValue
    // 2. Créer le pointeur tempPtr pointant vers temperature
    // 3. Afficher la valeur d'origine en utilisant le déréférencement du pointeur
    // 4. Modifier la valeur de temperature via le pointeur en utilisant newValue
    // 5. Afficher la nouvelle valeur en utilisant le déréférencement du pointeur
    
    return 0;
}
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Logique et Flux