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 pointer vers une variable, vous devez apprendre à accéder et modifier la valeur à cette address mémoire. C'est là que l'opérateur de dereference (*) becomes essentiel.L'opérateur de déréférencement * est utilisé pour accéder à la valeur stockée à l'adresse mémoire vers laquelle un pointeur pointe. Lorsque vous placez * devant une variable pointeur, il "suit" l'adresse et vous donne la valeur réelle qui y est stockée.N'oubliez pas que l'opérateur address-of (&) est utilisé pour obtenir l'address mémoire d'une variable, tandis que l'opérateur dereference (*) est utilisé pour accéder à la valeur à cette address.
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 attribuez une nouvelle valeur à *ptr, vous modifiez en réalité la valeur stockée à cet emplacement mémoire :
*ptr = 100;  // Modifie number à 100
// number vaut maintenant 100, même si on l'a 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 démontre l'utilisation de l'opérateur de déréférencement en modifiant la valeur d'une variable à travers un pointeur.

L'entrée suivante sera fournie :

  • Un entier représentant la valeur initiale d'une variable
  • Un entier représentant la nouvelle valeur à attribuer 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 modifier la valeur de temperature avec la deuxième valeur d'entrée à travers le pointeur
  5. Afficher la nouvelle valeur en déréférençant à nouveau le pointeur

Utilisez exactement le format de sortie suivant :

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

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éclarez la variable temperature et initialisez-la avec initialValue
    // 2. Créez le pointeur tempPtr pointant vers temperature
    // 3. Print original value using pointer dereference
    // 4. Modifiez la valeur de temperature via le pointeur en utilisant newValue
    // 5. Affichez 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