<c语言>如何将数组初始化为0?

来源:互联网 发布:中国近几年gdp数据表格 编辑:程序博客网 时间:2024/05/19 11:48

转载自:http://www.cnblogs.com/programnote/p/4719078.html

如何将数组初始化为全0?

C语言中,声明数组的语句:

int arr[100];

这样声明得到的数组里面的存储的是随机的我们不知道的数据,对用户来说就是垃圾。有许多情况我们要将数组初始化为全零的情况才能进行其他操作。

最简单的方法就是用一个循环吧数组所有元素设置为0:

int arr[100];int i = 0;for(i = 0 ; i < 100 ; i++)    arr[i] = 0;  //This will make all ZERO

我们还可以利用其他几种方式做到初始化数组为0:

1、全局变量和静态变量初始化时会自动被设置为0。如果们声明全局变量,那么他在运行前会变成全0。

int arr[1024]; // This is globalint main(void){    //statements}

2、对于局部数组我们还有简写的初始化语法。如果一个数组被部分初始化,没有被初始化的元素会被自动设置为相应类型的0。这是编译器自动完成的。可以这样写:

int main(void){    int arr[1024] = {0};  // This will make all ZERO    // statements}

变长数组(柔性数组)不可用

3、你还可以用memset函数在程序开始时初始化数组。这条命令这在你已经修改了数组之后又想将它重置为全0特别有用。(变长数组适用

头文件:#include <string.h>

int arr[1024];arr[5] = 67;memset(ZEROARRAY, 0, 1024); //This will reinitialize all to ZERO