367 字
2 分钟
Loading
数组的集成初始化
2023-10-13

数组的集成初始化:

不进行初始化。

定义数组时通常由两种办法

进行初始化。

像是这样的初始化:

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。

也可以不给数组的大小让编译器自己统计。

集成初始化适合初始数据稀疏的数组。

数组的集成初始化
https://vilstia.pages.dev/posts/学习笔记/c/数组的集成初始化/
作者
琴泠
发布于
2023-10-13
许可协议
CC BY-NC-SA 4.0