Powiel możliwe:
C and C++ : Partial initialization of automatic structureC++ unosić inicjalizacji tablicy
Podczas czytania Code Complete, natknąłem się na C++ przykład inicjalizacji tablicy:
float studentGrades[ MAX_STUDENTS ] = { 0.0 };
ja nie wiem C++ może zainicjować e ntire tablicą, więc Przetestowałem go:
#include <iostream>
using namespace std;
int main() {
const int MAX_STUDENTS=4;
float studentGrades[ MAX_STUDENTS ] = { 0.0 };
for (int i=0; i<MAX_STUDENTS; i++) {
cout << i << " " << studentGrades[i] << '\n';
}
return 0;
}
Program dał oczekiwanych rezultatów:
0 0
1 0
2 0
3 0
ale zmiana wartości inicjalizacji z 0.0
do, powiedzmy, 9.9
:
float studentGrades[ MAX_STUDENTS ] = { 9.9 };
Udostępniono interesujący wynik:
0 9.9
1 0
2 0
3 0
Czy deklaracja inicjalizacji ustawia tylko pierwszy element w tablicy?
Nie zapominaj, że możesz użyć pustej listy inicjalizacji, w którym to przypadku * wszystkie * elementy są ustawione na zero. –
@MarkRansom: Tak, dodam to, dzięki. –
Sprawiasz, że brzmi jak 0, to specjalny przypadek, ale tak nie jest. Ustawia pierwszy element na 0, a resztę na 0. –