Une variable c’est un terme que l’on donne pour définir les données que nous allons manipuler tout au long du programme. Une variable est volatile car à un moment donné, elle sera supprimée de l’ordinateur, elle devra être libérée. Peu importe le nom qu’elle porte, sauf ceux la :
- auto
- break
- case
- char
- const
- default
- do
- double
- else
- enum
- extern
- float
- for
- goto
- if
- int
- long
- register
- return
- short
- signed
- sizeof
- static
- struct
- switch
- typedef
- union
- unsigned
- void
- volatile
- while
Le nom de la variable est une sorte d’alias pour mieux se retrouver, elle porte en réalité l’adresse mémoire tel que “0xF500DA” par exemple. Elle se déclare de telle sorte avec un type, le nom et son affectation :
int age = 10;
Il existe différent types de variable, en voici un tableau le tableau récapitulatif :
Type | Occupation mémoire | Valeur minimum | Valeur maximum |
char | - | - | - |
signed char | 1 octet | -128 | 127 |
unsigned char | 1 octet | 0 | 255 |
int | 2 octets / 4 octets | -32’768 / ‑2’147’483’648 | 32’767 / 2’147’483’647 |
unsigned int | 2 octets / 4 octets | 0 / 0 | 65’535 / 4’294’967’295 |
short | 2 octets | -32’768 | 32’767 |
unsigned short | 2 octets | 0 | 65’535 |
long | 4 octets | -2’147’483’648 | 2’147’483’647 |
unsigned long | 4 octets | 0 | 4’294’967’295 |
long long | 8 octets | -9’223’372’036’854’780’000 | 9’223’372’036’854’780’000 |
unsigned long long | 8 octets | 0 | 18’446’744’073’709’600’000 |
float | 4 octets | -3.4e38 | 3.4e38 |
double | 8 octets | -1.7e308 | 1.7e308 |
long double | 10 octets | -1.1e4932 | 1.1e4932 |
Il existe des drapeaux qui permettent d’afficher le contenu des variables tel que :
- %d Il concernera les nombres entier (int)
- %f Il concernera les nombres flottant (float / double)
- %c Il concernera les caractères (char / signed char)
- %s Il concernera les chaines de caractères
- %.3f permet de récupérer seulement 3 chiffres après la virgule
Par exemple :
#include <stdio.h> int main(void) { int nombre = 10; printf("Le nombre est %d\n", nombre); return 0; }
Il existe ensuite des mots clefs important à savoir. Même si les compilateurs de maintenant permettent de le faire automatiquement, que l’on peut mettre avant le type de variable :
- register Il permet de stocker la variable dans la mémoire du processeur et non dans la RAM
- volatile Il permet de faire en sorte que la variable ne passe jamais par la mémoire du processeur