C/C++初始化数组全为0的方法

C/C++初始化数组全为0的方法

  1. 使用C99标准的方式

使用C99标准时,可以直接在定义数组时使用空的花括号来初始化数组,这将会把数组中的所有元素都初始化为0。

int arr[10] = {};  // 将数组中的所有元素初始化为0
int arr[10] = {0};  // 将数组中的所有元素初始化为0

当使用大括号初始化器{}来初始化数组时,如果没有指定初始值,则数组的所有元素将被初始化为默认值。对于整型数组,其默认值为0。

在C++11之前,如果数组的大小与大括号中的初始值数量不匹配,编译器会报错。但是从C++11开始,可以使用空的大括号初始化器{}来初始化数组,这将自动将数组的所有元素初始化为默认值。

例如,int arr[10] = {};将创建一个包含10个整数的数组arr,并将所有元素初始化为0。这种方法简洁且易于理解,适用于静态数组和局部数组。但是,对于动态分配的数组,这种方法不适用
2. 使用memset函数

memset函数可以用来对指定的内存区域进行赋值操作,将指定的值赋给内存区域中的每一个字节。

int arr[10];
memset(arr, 0, sizeof(arr)*sizeof(arr[0]));  // 将数组中的所有元素初始化为0

请注意,使用memset函数时,需要包含头文件。另外,这种方法只适用于初始化整型数组,对于其他类型的数组可能会出现问题。
3. 使用循环赋值

可以使用循环来对数组中的每一个元素进行赋值操作,将数组中的所有元素都赋为0。

int arr[10];
for(int i=0; i<10; i++) {
    arr[i] = 0;
}

你可能感兴趣的:(数据结构,算法,c语言)