如何将数组初始化为全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
Copyright © 2015 programnote