C++ code:数组初始化

具有初始化的数组定义,其元素个数可以省略,即方括号中的表达式可以省略。这时候,最后确定的元素个数取决于初始化值的个数。例如:

 1 #include<iostream>
 2 using namespace std;
 3 int main()
 4 {
 5     int a[] = {1,2,3,4,5};
 6     for (int i = 0; i < sizeof(a) / sizeof(a[0]); ++i)
 7         cout << a[i] << " ";
 8     cout << "\n";
 9     cin.get();
10     return 0;
11 }

运行结果:

程序中,用了sizeof(a),即a数组的字节数。还有sizeof(a[0]),即第一个元素所占空间的字节数,因为是整形数组,所以相当于sizeof(int),在32位编译器中整形数程度长度为4。a数组有若干个元素,每个元素有sizeof(a[0])个字节,所以两者相除就是元素个数。这样表示的用意在于可维护性。(因为数组元素个数随着编程需要可能也会变化。在稍大一点的编程中,输入过程与处理过程往往分离,即中间相隔许多语句,所以,并不能一下子直观得看到数组元素个数的值,而根据数组名和其元素的信息,获取元素个数的方式,就带有很好的通用性。for循环的结构描述就无须跟着数组的初始化变动而改动了)

猜你喜欢

转载自www.cnblogs.com/ariel-dreamland/p/9023549.html