diff --git a/slides/pointeurs_avances.md b/slides/pointeurs_avances.md index da26a3599e622e2f4fed82d1c35e026743aa7ab9..d8ff89480918858cd75b46389261f8e784462be9 100644 --- a/slides/pointeurs_avances.md +++ b/slides/pointeurs_avances.md @@ -52,4 +52,22 @@ const int *const p = &n; // la valeur p et *p sont const p = &m; // erreur de compilation. ``` +# Pointeurs et `const` + +## Fonctions + +```C +void foo(int *a); +void foo(const int *a); // on pourra pas changer *a +void foo(int *const a); // inutile on peut pas changer a +void foo(const int *const a); // identique à ci-dessus +``` + +## Mais..... +```C +const int a = 0; +int *b = (int *)&a; +*b = 7; +printf("a = %d\n", a); // affiche quoi? +```