Adloun

informatique (MP2I/MPI) · Chapitre 1 · Application directe du cours

Lire une déclaration

Le langage C · niveau 2

Énoncé

Que déclare chacune de ces lignes ?


int* p, q;
const int* a;
int* const b = &n;

Corrigé

  • int* p, q; déclare p pointeur vers un int, et q entier. L'étoile se rattache à la variable, pas au type — c'est une source classique de confusion. On écrit donc une déclaration par ligne.
  • const int* a; : pointeur vers un entier constant. On peut déplacer a, on ne peut pas écrire *a. C'est la forme des paramètres qu'une fonction promet de ne pas modifier.
  • int* const b = &n; : pointeur constant vers un entier modifiable. On peut écrire *b, on ne peut pas faire pointer b ailleurs.

La lecture se fait de droite à gauche en partant du nom : « b est un const pointeur vers int ».

Exercices semblables

Le cours du chapitre · Tous les exercices du chapitre