Video: Section 2 2024
În C ++, o variabilă locală nu începe viața cu o valoare validă, nici măcar valoarea 0. A spus într-un alt mod, o variabilă locală conține gunoi până când într- aceasta. Lanțurile declarate local sunt aceleași - fiecare element conține gunoi până când îi atribuiți ceva.
Ar trebui să inițializați variabilele locale atunci când le declarați. Această regulă este chiar mai adevărată pentru matrice. Este mult mai ușor să accesați elementele de matrice neinitializate, considerând că acestea sunt valori valide.
"Variabila locală" se referă la variabilele normale declarate în cadrul unei funcții. C ++ puristi numesc de fapt aceste variabile automate pentru a le diferentia de variabilele statice.
Din fericire, o matrice mică poate fi inițializată în momentul în care este declarată cu o listă de inițializatori. Următorul fragment de cod demonstrează modul în care se face acest lucru:
float floatArray [5] = {0. 0, 1. 0, 2. 0, 3. 0, 4. 0};
Aceasta inițiază floatArray [0] la 0, floatArray [1] la 1. 0, floatArray [2] la 2. 0 și așa mai departe.
C ++ plasează lista de inițializare cu 0s dacă numărul elementelor din listă este mai mic decât dimensiunea matricei. De fapt, o listă de inițializări goale poate fi folosită pentru a inițializa o matrice la 0:
int nArray [128] = {}; // inițializați matricea la toate numerele 0
Numărul de constante de inițializare poate determina dimensiunea matricei. De exemplu, ați fi putut determina că floatArray are cinci elemente doar prin numărarea valorilor din cadrul bretelelor. C ++ poate conta, de asemenea (aici este cel puțin un lucru pe care C ++ îl poate face pentru sine).
float floatArray [] = {0. 0, 1. 0, 2. 0, 3. 0, 4. 0};