如何将数组初始化为全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 global
int main(void)
{
    //statements
}

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

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

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

int arr[1024];
arr[5] = 67;
memset(ZEROARRAY, 0, 1024); //This will reinitialize all to ZERO
posted @ 2015-08-10 19:54  programnote  阅读(70885)  评论(1编辑  收藏  举报