Hit9 Blog Wiki Project Links Archives Resumé
Page: First UP Pre Next Back

C语言数组初始化技巧

Fork me on GitHub

允许转载, 但转载请注明出处

Date:2012-11-26

首先预测下面的数组初始化:

int arr[10] = {0}; 

对,arr被初始化为10个0的int数组.

再看看下面的code:

int arr[10] = {1}; 

你用gdb(gdb教程:link)看下,print一下arr会发现只有arr[0]是1, 其余为0.

再试试下面的代码:

int arr[10] = {[3] = 2}; 

会发现只有 arr[3]为2, 其余为0

下面的代码也是可以的!

int arr[10] = {[3 ... 6] = 1, [7 ... 9] = 2}; //注意...前后均有空格

会发现arr被初始化为:{0, 0, 0, 1, 1, 1, 1, 2, 2, 2}

那么以上三种初始化方式都是可以的,只是,没有指明的元素默认清0


Support:mkdwiki