当前位置:首页 C++ > 正文

c++数组默认值

作者:野牛程序员:2023-07-28 14:26:35 C++阅读 3148

在C++中,数组在定义时可以设置默认值。对于静态数组(定义在全局或局部作用域的数组),如果没有显式地初始化其元素,将使用默认值进行初始化。对于动态数组(通过new运算符动态分配的数组),如果没有显式地为元素赋值,元素的值是不确定的,即它们的值是未定义的。

示例:

#include <iostream>
using namespace std;

// 全局静态数组,未初始化的元素默认为0
int globalStaticArray[5];

void printArray(int arr[], int size) {
    for (int i = 0; i < size; ++i) {
        cout << arr[i] << " ";
    }
    cout << endl;
}

int main() {
    // 局部静态数组,未初始化的元素默认为0
    static int localStaticArray[5];

    // 自动变量数组,未初始化的元素值是不确定的(垃圾值)
    int autoArray[5];

    cout << "Global Static Array: ";
    printArray(globalStaticArray, 5);

    cout << "Local Static Array: ";
    printArray(localStaticArray, 5);

    cout << "Auto Array: ";
    printArray(autoArray, 5);

    return 0;
}

在上述示例中,声明了三个数组:全局静态数组globalStaticArray、局部静态数组localStaticArray和自动变量数组autoArray。全局静态数组和局部静态数组在定义时未显式初始化,因此它们的所有元素默认为0。全局作用域中声明的数组本身就具有静态存储持续性,会在程序启动时自动初始化为0。,自动变量数组autoArray是在main函数中声明的,未进行显式初始化,因此它的元素值是未定义的(可能是垃圾值)。

需要注意的是,数组的默认值只在定义时起作用,而不是在运行时。如果需要确保数组的元素具有特定的默认值,应该在定义数组时进行显式初始化或使用循环来为其元素赋值。


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击