📅  最后修改于: 2023-12-03 14:59:49.712000             🧑  作者: Mango
在 C++ 中,当我们声明并定义一个数组时,如果未显式初始化其中的元素,则它们将具有默认的值。不同于某些高级语言,C++ 中默认值可能是垃圾值(也就是随机值),而不是一些预设的值,例如零或空字符串。
下面是一个简单的 C++ 程序,演示了如何声明并初始化数组:
#include <iostream>
using namespace std;
int main() {
// 声明数组并分配内存空间
int arr[5];
// 输出数组的每个元素
for(int i = 0; i < 5; i++) {
cout << arr[i] << endl;
}
return 0;
}
当上述代码被编译与执行时,将会输出以下内容:
1766410896
32767
0
6963516
32523
在这个示例中,数组 arr
包含五个元素,但是未被显式初始化。由于它们没有被初始化,所以 arr
的五个元素都具有垃圾值。
现在,我们来看另一个 C++ 程序,这次我们将会显式地为每个元素分配初始值。
#include <iostream>
using namespace std;
int main() {
// 声明数组并初始化每个元素
int arr[5] = {1, 2, 3, 4, 5};
// 输出数组的每个元素
for(int i = 0; i < 5; i++) {
cout << arr[i] << endl;
}
return 0;
}
运行结果:
1
2
3
4
5
这次,数组 arr
被初始化为包含五个元素,这些元素的值从 1 到 5 进行了逐一初始化。因此,确定了数组元素的值后,程序才输出了我们期望的结果。
在 C++ 中,未显式初始化的数组元素将是未定义的、随机的垃圾值。在声明并定义数组时,我们应该策划好数组元素值的初始化方案,以确保它们在代码的后续执行过程中将得到意料之中的值。