对于数组,初始化最普遍的方式为:
int myArray[10]={5,5,5,5,5,5,5,5,5,5};
那些只有缺失值的元素,将被初始化为0:
int myArray[10] = { 1, 2 }; // initialize to 1,2,0,0,0...
所以下列初始化式将初始化所有的元素为0:
int myArray[10] = { 0 }; // all elements 0
在C++中,一个空的初始化表将初始化所有的元素为0。但是这在C中,并不允许。
int myArray[10] = {}; // all elements 0 in C++
记住,在静态存储期的对象将会被初始化为0,如果明确显示的初始化器。
static int myArray[10]; // all elements 0
注意,当初始化式如下所示时,并不意味着将所有的元素设置为1,而是将属于第一行第一列的元素设置为1,其他的元素正出于类似于静态存储期的一种状态,因此都被初始化为0。C语言规定,静态存储器的对象,如果没有显示被初始化,则将被初始化为0。
int array [2][2] = {1}; // 初始化结果不是{1, 1, 1, 1},而是{1, 0, 0, 0}。