下面3种方法:
1.int arr[10]={0}
如果只对数组的一部分进行初始化,则编译器将把其他元素设置为0。因此,当只将第一个元素初始化为0时,编译器会自动将其他元素设为0 (就像前一句说的那样)。
2.int arr[31]={}
3.用memset函数在程序开始时初始化数组。比如:
int arr[1024]
memset(arr, 0, 1024)//清零
扩展资料:
memset()函数原型是extern void *memset(void *buffer, int c, int count) buffer:为指针或是数组,c:是赋给buffer的值,count:是buffer的长度。
函数解释:将s中当前位置后面的n个字节 (typedef unsigned int size_t )用 ch 替换并返回 s 。
memset:作用是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法 ,它通常为新申请的内存做初始化工作。
参考资料:memset-百度百科
需要准备的材料分别有:电脑、C语言编译器。
1、首先,打开C语言编译器,新建一个初始.cpp文件,例如:test.cpp。
2、在test.cpp文件中,输入C语言代码:
int a[3]
memset(a, 0, sizeof(a))
printf("%d", a[0])
printf("%d", a[1])
printf("%d", a[2])
3、编译器运行test.cpp文件,此时成功将数组每一项都初始化为0。
不是不能初始化,是初始化的不对。另外,数组最好用memset初始化。
(1)在定义数组时对数组元素赋以初值。如:
static int a[10]={0,1,2,3,4,5,6,7,8,9}
经过上面的定义和初始化后,a[0]=0,a[1]=1,… ,a[9]=9。
(2)初始化时可以只对一部分元素赋初值。例如:
static int a[10]={0,1,2,3,4}
定义的数组有10个元素,但只对其中前5个元素赋了初值,后5个元素初值为0。
扩展资料
数组的三种初始化方式
1、静态初始化
除了用new关键字来产生数组以外,还可以直接在定义数组的同时就为数组元素分配空间并赋值。例 int[] a={1,2,3}//静态初始化基本类型数组
Man[] mans={new Man(1,1),new Man(2,2)}//静态初始化引用类型数组
2、动态初始化
数组定义与为数组元素分配空间并赋值的操作分开进行。int[] a1=new int[2]//动态初始化元素,先分配空间。
a1[0]=1//给数组元素赋值
a1[2]=2
3、数组的默认初始化
数组是引用类型,他的元素相当于类的实例变量,因此数组一经分配空间,其中的每个元素也被按照实例变量同样的方式被隐式初始化。
实例:int a2[]=new int[2]//默认值0,0
boolean[] b=new boolean[2]//默认值 false,false
String[] s=new String[2]//默认值null