Files
programmationc/variables.md
2026-01-06 13:03:22 +01:00

92 lines
2.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Variables
> Une variable est un élément qui associe un **identifiant** à une **valeur**.
Une variable est un espace mémoire nommé qui permet de stocker une valeur manipulée par le programme. En langage C, chaque variable possède :
- un type (entier, réel, caractère, etc.)
- un nom
- une valeur (modifiable au cours de lexécution)
## Caractéristiques
Une variable possède plusieurs caractéristiques ou propriétés.
La **déclaration**, c'est l'endroit dans le code qui défini l'existence de la variable.
```c
int age = 19;
```
L'**initialisation** : attribue une valeur à la valeur.
Utiliser une variable non initialisée conduit à un comportement indéfini. Les varaiables sont pas toujours initialisées à une valeur par défaut (comme 0 par exemple).
Un **nom** sous lequel la variable est déclarée. Dans cette déclaration le nom de la variable est `age`.
Un **type**. Dans la mémoire d'un ordinateur, toute information est stockée sous forme d'éléments binaires appelés `bit` (en: binary digit, nombre binaire). Un même ensemble de bits peut être représenté sous différentes aspects : nombre entier, nombre réel, texte, photo, vidéo, audio, ... C'est la convention d'interprétation du type qui défini la valeur de la variable.
Dans cette déclaration le type de la variable `age` est un entier `int`.
La **taille** associée au type. Dans le cas des types fixe, le type de la variable spécifie aussi le nombre de bits ou le nombre de mots (en: bytes, octets) utilisés.
Dans cette déclaration la taille de la variable `age` est de 4 octets ou 32 bits, qui est la taille associée à un type `int`.
La **valeur**, c'est la valeur intrasèque des bits suivant la représentation associée au type;
Dans cet exemple la valeur de la variable `age` est `10`.
La **portée**, c'est la portion de code où la variable est utilisable. Une variable est accessible depuis sa définition jusqu'à la fin du bloc où elle est déclarée.
Variable locale : déclarée dans une fonction ou un bloc
Variable globale : déclarée en dehors de toute fonction
Les variables déclarées dans une fonction sont locales à cette fonction. Les paramètres dune fonction sont eux aussi des variables locales.
### Règles
#### Déclaration
> [!WARNING]
> Les variables doivent être déclarées **avant** d'être utilisées.
```c
#include <stdio.h>
int main()
{
printf("%d", age);
int age = 10;
}
```
Ce code provoque une erreur : la variable est non déclarée avant sont utilisation !
```
error: age' undeclared (first use in this function)
```
Voici le code correct
```c
#include <stdio.h>
int main()
{
int age = 10;
printf("%d", age);
}
```
## Types courants
int : nombre entier
float : nombre réel (simple précision)
double : nombre réel (double précision)
char : caractère