c++数组默认初始化
浏览次数:2649
少儿编程
当定义一个数组时,其默认初始化行为与该数组是全局变量还是局部变量有关。
对于全局变量数组,如果您未显式地初始化其元素,则数组的元素将会默认初始化为0。例如:```cpp
int g_arr[5]; // 全局变量,默认情况下,g_arr的元素都为0
对于局部变量数组,如果您未显式地初始化其元素,则其元素的值是未定义的,也就是说它们可以是任何值,包括0或其他数字。例如:
```cpp
void foo() {
int arr[5]; // 局部变量,默认情况下,arr的元素的值是未定义的
}
无论是全局变量还是局部变量数组,您都可以使用初始化列表或在定义时指定初始值来对其进行初始化。例如:
int g_arr2[5] = {1, 2, 3}; // 全局变量,初始化为{1, 2, 3, 0, 0}
void bar() {
int arr2[5] = {4, 5, 6}; // 局部变量,初始化为{4, 5, 6, 0, 0}
}
需要注意的是,如果您使用动态分配内存的方式创建数组,则其中的元素不会自动初始化,您需要手动对它们进行初始化。