对于数组的初始化大家应该都是了然于胸的,相信大家平时应该会 遇到可能需要对数组进行一些批量的赋值的情况初始化数组,比如我需要一个这样的数组:
{100, 99, 99, 99, 99, 99, 99, 99, 99, 98, 97}
第1个元素到第7个元素均为99初始化数组,这种时候如果按照普通的写法,我们需要把所有的元素的具体内容都写出来,需要重复写多次99,如果数量不多的话,写一遍也不会很耗时间,但是如果数量比较庞大的话,那就非常麻烦了,所以有没有什么比较简洁的办法能够方便快捷的批量初始化数组呢?其实是有的。
C99支持这样一种数组初始化方式,可以很方便的对数组进行初始化:
int arr[10] = {100, [1 ... 7] = 99, 98, 97};
省略号的两边的数字代表元素的下标,实际意义是将第1个元素至第7个元素均赋值为99;
示例:
#include
void main(void)
{
int arr[5] = {100, [1 ... 3] = 50, 10};
for (int i = 0; i < 5; i++)
{
printf("a[%d] = %drn", i, arr[i]);
}
}
输出:
a[0] = 100
a[1] = 50
a[2] = 50
a[3] = 50
a[4] = 10
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。