Sunset
367 字
2 分钟
数组的集成初始化
数组的集成初始化:
不进行初始化。
定义数组时通常由两种办法
进行初始化。
像是这样的初始化:
Int a[]{1,2,3,4,5,6,7,8,9,10}
这样子不规定有多少元素,而是由计算机代替人来数数的初始化,叫做集成初始化。
当然你也可以规定有多少个元素,但是如果规定的元素多与你再大括号中给定的数字,就会变成0,像是这样:
Int a[10]{1,2,3};
Int i;
For(i=0;i<10;i++){
Printf(“%d”,a[i]);
}
输出数组里的所有数字,你会得到:
1230000000
剩下没有给值的元素的值都变成了0。
如果想要全部赋0也很简单,只需要这样:
Int a[i]{0};
只要这样就可以让一共有i个元素的数组a的所有元素的值都变为了0。
如果想要给数组中的每一项都单独赋值,也可以使用这样的办法:
Int a[10]={
[0]=1,[2]=3,5,
};
这行代码的意思是,在大括号内,中括号的数字代表了数组的元素,即a[0]=1,a[2]=3,默认的情况下是相连的,所以a[3]就是5,不需要繁琐的重复写。在这里,a[1]没有赋值,得到的值是0。
用[n]来定位。
没有定位的数据的情况下就接着前面的位置。
其他位置的值补0。
也可以不给数组的大小让编译器自己统计。
集成初始化适合初始数据稀疏的数组。