Skip to content
Snippets Groups Projects
Commit 6ba6f504 authored by orestis.malaspin's avatar orestis.malaspin
Browse files

added consts

parent e0ff2e78
Branches
No related tags found
No related merge requests found
......@@ -45,6 +45,44 @@
- Permettent d'avoir plusieurs chemins d'accès à une valeur.
- Lire **et** écrire en même temps dans un bout de mémoire devient possible: **danger**.
# Pointeurs et `const`
## Deux niveaux de constance
- Le mot clé `const` permet de déclarer des valeurs "constantes" qui ne changeront plus en cours d'exécution du programme.
- Mais qu'est-ce que cela veut dire pour les pointeurs?
```C
int n = 12;
const int *p = &n; // la valeur *p est const, p non
int const *p = &n; // la valeur *p est const, p non
int *const p = &n; // la valeur p est const, *p non
const int *const p = &n; // la valeur p et *p sont const
```
## Exemples
```C
int n = 12; int m = 13;
const int *p = &n; // la valeur *p est const, p non
*p = m; // erreur de compilation.
p = &m; // OK
int const *p = &n; // la valeur *p est const, p non
*p = m; // erreur de compilation.
p = &m; // OK
int *const p = &n; // la valeur p est const, *p non
*p = m; // OK
p = &m; // erreur de compilation.
const int *const p = &n; // la valeur p et *p sont const
*p = m; // erreur de compilation.
p = &m; // erreur de compilation.
```
# La fonction `sizeof()` (1/2)
- La fonction `sizeof()`{.C} permet de connaître la taille en octets:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment