Maîtrisez le C, étape par étape
← Tous les modules
08 Avancé ⏱ 90 min

Les pointeurs

Adresses, déréférencement et allocation

1. Concept

Un pointeur stocke l'adresse mémoire d'une autre variable.

C
int x = 10;
int *p = &x;
printf("%d\n", *p); // 10
*p = 20;
printf("%d\n", x); // 20

2. Pointeurs et tableaux

Le nom d'un tableau est un pointeur vers son premier élément.

3. Allocation dynamique

malloc et free permettent d'allouer et libérer de la mémoire.

C
int *t = malloc(10 * sizeof(int));
if (t == NULL) return 1;
// ... utilisation ...
free(t);
1

Échanger deux variables

Écrire une fonction swap(int *a, int *b).

2

Tableau dynamique

Allouer dynamiquement un tableau de N entiers, le remplir puis le libérer.

1 Que fait l'opérateur & ?
2 Que fait l'opérateur * sur un pointeur ?
3 Quelle fonction libère la mémoire ?
4 malloc retourne quoi en cas d'échec ?
5 Le nom d'un tableau est :