C 语言中怎么将一个大的数组的所有成员初始化为相同的值?
// 1.
int myArray[10] = { 1, 2 }; // initialize to 1,2,0,0,0..
// 2.
int myArray[10] = { 0 }; // all elements 0
// 3.
int myArray[10];
memset(myArray, 0, sizeof(myArray));
上面都是赋值为 0 的用法,如果是其它的值,只能用 for 或者 while
上面的 C 语言的办法同样适用于 C++,不过 C++ 有自己的方法。
int myArray[10] = {}; // all elements 0 in C++, but is not allowed with C
C++ algorithm 有两个函数 – fill
和 fill_n
,可以给数组赋值,
int myArray[10];
fill(myArray, myArray + 10, 3); // 数组元素都会被赋值为 3