1. Concept
Un pointeur stocke l'adresse mémoire d'une autre variable.
int x = 10;
int *p = &x;
printf("%d\n", *p); // 10
*p = 20;
printf("%d\n", x); // 20
Un pointeur stocke l'adresse mémoire d'une autre variable.
int x = 10;
int *p = &x;
printf("%d\n", *p); // 10
*p = 20;
printf("%d\n", x); // 20
Le nom d'un tableau est un pointeur vers son premier élément.
malloc et free permettent d'allouer et libérer de la mémoire.
int *t = malloc(10 * sizeof(int));
if (t == NULL) return 1;
// ... utilisation ...
free(t);
Écrire une fonction swap(int *a, int *b).
void swap(int *a, int *b) {
int tmp = *a;
*a = *b;
*b = tmp;
}
Allouer dynamiquement un tableau de N entiers, le remplir puis le libérer.
int n; scanf("%d", &n);
int *t = malloc(n * sizeof(int));
for (int i = 0; i < n; i++) t[i] = i*i;
free(t);