Video: C# Made Easy Tutorial 12 - Multidimensional Arrays 2024
I C ++ startar en lokal variabel inte livet med ett giltigt värde, inte ens värdet 0. På annat sätt innehåller en lokal variabel sopor tills du faktiskt lagrar något i Det. Lokalt deklarerade arrays är desamma - varje element innehåller skräp tills du faktiskt tilldelar något till det.
Du bör initiera lokala variabler när du deklarerar dem. Denna regel är ännu värre för arrays. Det är alldeles för lätt att komma åt uninitialiserade array-element som tror att de är giltiga värden.
"Lokal variabel" avser de normala variablerna deklarerade inom en funktion. C ++-purister kallar faktiskt dessa automatiska variabler för att skilja dem från statiska variabler.
Lyckligtvis kan en liten uppsättning initialiseras när den deklareras med en initialiseringslista. Följande kodsekvens visar hur detta görs:
float floatArray [5] = {0. 0, 1. 0, 2. 0, 3. 0, 4. 0};
Detta initierar floatArray [0] till 0, floatArray [1] till 1. 0, floatArray [2] till 2. 0, och så vidare.
C ++ lägger in initialiseringslistan med 0s om antalet element i listan är mindre än storleken på arrayen. Faktum är att en tom initialiseringslista kan användas för att initiera en array till 0:
int nArray [128] = {}; // initiera array till alla 0's
Antalet initialiseringskonstanter kan bestämma storleken på arrayen. Du kan till exempel ha bestämt att floatArray har fem element bara genom att räkna värdena i hävarmen. C ++ kan också räkna (här är åtminstone en sak C ++ kan göra för sig själv).
float floatArray [] = {0. 0, 1. 0, 2. 0, 3. 0, 4. 0};