Vidéo: Langage C #12 - tableaux 2024
En C ++, une variable locale ne démarre pas avec une valeur valide, pas même la valeur 0. Autrement dit, une variable locale contient des ordures jusqu'à ce que vous ayez stocké quelque chose il. Les tableaux déclarés localement sont les mêmes - chaque élément contient des ordures jusqu'à ce que vous lui assigniez quelque chose.
Vous devez initialiser les variables locales lorsque vous les déclarez. Cette règle est encore plus vraie pour les tableaux. Il est beaucoup trop facile d'accéder à des éléments de tableau non initialisés en pensant que ce sont des valeurs valides.
"Variable locale" fait référence aux variables normales déclarées dans une fonction. Les puristes C ++ appellent ces variables automatiques pour les différencier des variables statiques.
Heureusement, un petit tableau peut être initialisé au moment où il est déclaré avec une liste d'initialisation. L'extrait de code suivant montre comment cela est fait:
float floatArray [5] = {0. 0, 1. 0, 2. 0, 3. 0, 4. 0};
Ceci initialise floatArray [0] à 0, floatArray [1] à 1. 0, floatArray [2] à 2. 0, et ainsi de suite.
C ++ remplit la liste d'initialisation avec 0 si le nombre d'éléments dans la liste est inférieur à la taille du tableau. En fait, une liste d'initialisation vide peut être utilisée pour initialiser un tableau à 0:
int nArray [128] = {}; // initialise le tableau pour tous les 0
Le nombre de constantes d'initialisation peut déterminer la taille du tableau. Par exemple, vous pourriez avoir déterminé que floatArray a cinq éléments en comptant simplement les valeurs dans les accolades. C ++ peut également compter (au moins une chose que C ++ peut faire pour lui-même).
float floatArray [] = {0. 0, 1. 0, 2. 0, 3. 0, 4. 0};