0Pricing
Zig Academy · Leçon

Déréférencement avec ptr.*

Lisez et écrivez au moyen d'un pointeur.

Déréférencement avec ptr.* est une leçon Zig Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Zig Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Zig Academy comprend 4 leçons au total.

Atteindre la valeur

Un pointeur contient une adresse, pas une valeur. Pour utiliser la valeur située derrière lui, vous devez d’abord déréférencer le pointeur.

La syntaxe .*

Zig déréférence avec un .* placé à la fin du pointeur. Ainsi, ptr.* désigne la valeur vers laquelle ptr pointe actuellement.

var x: i32 = 7;
const p = &x;
const v = p.*;

Lire via un pointeur

Écrire ptr.* dans une expression lit la valeur pointée et vous donne une copie normale que vous pouvez utiliser n’importe où.

const doubled = p.* * 2;

Écrire via un pointeur

Placez ptr.* à gauche d’une affectation pour écrire une nouvelle valeur à l’emplacement d’origine.

p.* = 99;

Les modifications sont visibles

Comme le pointeur partage le stockage d’origine, écrire par son intermédiaire met également à jour la variable que voient les autres.

var x: i32 = 1;
const p = &x;
p.* = 5;
// x is now 5

Pas d’opérateur fléché

Zig n’a pas d’opérateur -> comme C. Que vous lisiez ou écriviez un champ, vous passez toujours par le même déréférencement .*.

Déréférencer puis accéder au champ

Pour un pointeur vers une structure, p.field fonctionne directement : Zig déréférence automatiquement lors de l’accès au champ, vous pouvez donc omettre .* à cet endroit.

const p = &point;
const y = p.y;

L’écriture explicite reste possible

Vous pouvez tout de même l’écrire p.*.field, mais la forme plus courte p.field est idiomatique en Zig et se lit plus clairement.

Const interdit les écritures

Si le pointeur est un *const T, alors ptr.* est accessible en lecture seule ; tenter d’écrire par son intermédiaire provoque une erreur de compilation.

const x: i32 = 3;
const p = &x;
// p.* = 4; // error

Déréférencer dans un calcul

Vous pouvez utiliser ptr.* partout où une valeur est acceptée, y compris dans une opération arithmétique : p.* + 1 signifie simplement la valeur pointée plus un.

const next = p.* + 1;

Une erreur courante

Oublier .* revient à utiliser l’adresse comme un nombre, ce qui constitue une erreur de type. Zig la détecte lors de la compilation, et non à l’exécution.

Vérification rapide

Vous avez const p = &x et voulez stocker un nouveau nombre dans x via p. Qu’écrivez-vous ?

Récapitulatif

Utilisez ptr.* pour lire ou écrire la valeur ciblée par un pointeur, les champs de structure sont déréférencés automatiquement et les pointeurs *const T restent accessibles en lecture seule. 🎯

Questions Fréquemment Posées

La leçon « Déréférencement avec ptr.* » est-elle gratuite ?

Oui — le texte complet de « Déréférencement avec ptr.* » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Zig Academy, passe à CoddyKit PRO. Le cours Zig Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Déréférencement avec ptr.* » ?

Lisez et écrivez au moyen d'un pointeur. Tu pratiques Zig Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Zig Academy ?

Aucune expérience préalable n'est requise. Zig Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.

Combien de temps prend la leçon « Déréférencement avec ptr.* » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Zig Academy ?

Oui. Chaque leçon Zig Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Pointeurs vers un seul élément avec *T
  2. Déréférencement avec ptr.*
  3. Pointeurs vers plusieurs éléments [*]T
  4. Pointeurs constants et alignement
← Retour à Zig Academy