Il existe plusieurs façons de déclarer et initialiser des variables :
Déclaration simple
float x;
Déclaration et initialisation
float x=8.5;
Déclaration puis initialisation
float x;
x=8.5;
Déclaration de plusieurs variables
float x, y, z;
Déclaration et initialisation de plusieurs variables. C'est la solution la plus populaire. On essaye généralement de regrouper ensemble des variables similaires ou liées.
float x=8.5, y=-3.2, z;
Notez que la dernière variable z
n'est pas initialisée.
Considérons le programme suivant. Qu'affiche-t-il ?
float x;
printf ("%f", x);
On pourrait naturellement penser que le programme affichera zéro et ce sera d'ailleurs souvent le cas, mais malheureusement ... pas toujours ! Cela fait d'ailleurs des variables non initialisées un problème particulièrement sournois, puisqu'il fonctionnera la majeure partie du temps.
Une variable non initialisée prendra la valeur précédemment mémorisée au même emplacement mémoire que la variable. Ce sera souvent zéro, mais pas toujours. Les variables utilisées sans être initialisées sont un problème source de nombreux bugs difficiles à diagnostiquer. Ce phénomène a d'ailleurs une page Wikipedia dédiée.
Comment déclarer plusieurs variables sur la même ligne ?
Comment initialiser une variable sur la même ligne que sa déclaration ?
Comment déclarer un entier et un flottant dans la même instruction ?
Quelle valeur aura une variable non initialisée ?
Qu'affiche le programme suivant ?
int zero;
printf ("%d", zero);