92 lines
2.8 KiB
Markdown
92 lines
2.8 KiB
Markdown
# 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 l’exé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 d’une 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
|