0Pricing
Zig Academy · Leçon

Pointeurs vers plusieurs éléments [*]T

Adressez une suite d'éléments.

Pointeurs vers plusieurs éléments [*]T est une leçon Zig Academy gratuite sur CoddyKit. Ceci est la leçon 3 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.

Pointer vers une suite

Parfois, un pointeur adresse non pas une seule valeur, mais le début d’une suite de valeurs disposées en mémoire. 🧱

Le type [*]T

Un pointeur vers plusieurs éléments s’écrit [*]T. L’astérisque entre crochets signifie qu’il pointe vers un nombre inconnu de valeurs T consécutives.

var run: [*]u8 = undefined;

Aucune longueur associée

Contrairement à une tranche, un pointeur vers plusieurs éléments ne contient aucune longueur. Vous seul devez savoir combien d’éléments peuvent être consultés sans danger.

Indexer comme un tableau

Vous pouvez indexer un pointeur vers plusieurs éléments avec des crochets : run[2] atteint le troisième élément en avançant dans la mémoire.

const third = run[2];

Arithmétique des pointeurs

Ajouter une valeur à un pointeur vers plusieurs éléments le déplace d’un nombre entier d’éléments : run + 1 pointe un T plus loin, et non un octet plus loin.

const next = run + 1;

Un seul ou plusieurs éléments

Un *T pointe vers exactement une valeur et ne peut pas être indexé ; un [*]T pointe vers plusieurs valeurs et prend en charge l’indexation et l’arithmétique.

D’où viennent-ils

Les pointeurs vers plusieurs éléments apparaissent souvent lors d’interactions avec C, qui transmet un pointeur brut vers un tampon dont la longueur est suivie séparément.

Aucune vérification des limites

Comme la longueur est inconnue, l’indexation d’un pointeur vers plusieurs éléments n’est pas vérifiée par rapport aux limites. Lire trop loin produit un comportement indéfini.

Préférer les tranches

Lorsque vous contrôlez le code, une tranche []T est plus sûre, car elle contient la longueur. Utilisez principalement [*]T aux frontières avec C.

Du pointeur à la tranche

Une fois le nombre d’éléments connu, associez une longueur avec ptr[0..n] pour transformer un pointeur vers plusieurs éléments en tranche sûre, avec vérification des limites.

const view = run[0..n];

Il existe des variantes sentinelles

Zig possède également des formes terminées par une sentinelle, comme [*:0]u8, un pointeur dont la suite se termine à une valeur connue, telle qu’un octet nul.

var cstr: [*:0]const u8 = "hi";

Vérification rapide

Comparez une tranche []T à un pointeur vers plusieurs éléments [*]T. Que manque-t-il à ce dernier ?

Récapitulatif

Un pointeur vers plusieurs éléments [*]T adresse une suite de valeurs, prend en charge l’indexation et l’arithmétique, ne contient aucune longueur et doit être converti en tranche lorsque c’est possible. 🎯

Questions Fréquemment Posées

La leçon « Pointeurs vers plusieurs éléments [*]T » est-elle gratuite ?

Oui — le texte complet de « Pointeurs vers plusieurs éléments [*]T » 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 « Pointeurs vers plusieurs éléments [*]T » ?

Adressez une suite d'éléments. 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 3 sur 4.

Combien de temps prend la leçon « Pointeurs vers plusieurs éléments [*]T » ?

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