可能重複:c + +浮動陣列初始化
float studentGrades[ MAX_STUDENTS ] = { 0.0 };
我沒有:
C and C++ : Partial initialization of automatic structure
在閱讀Code Complete,我跨越C++數組初始化例子來知道C++可以初始化e ntire陣列,所以我測試過它:
#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;
}
該方案得到所需要的結果:
0 0
1 0
2 0
3 0
但是從0.0
改變初始值,比方說,9.9
:
float studentGrades[ MAX_STUDENTS ] = { 9.9 };
給出了有趣的結果:
0 9.9
1 0
2 0
3 0
初始化聲明是否只設置數組中的第一個元素?
不要忘記你可以使用一個空的初始化列表,在這種情況下* all *元素被設置爲零。 –
@MarkRansom:是的,我會補充一點,謝謝。 –
你讓它聽起來像0是一種特殊情況,但事實並非如此。它將第一個元素設置爲0,然後將其餘元素設置爲0. –