If an aggregate initializer list is shorter than the array or class type that is being initialized, zeros are stored in the elements for which no initializer is specified. Therefore, the following two declarations are equivalent:
// Explicitly initialize all elements.
int rgiArray[5] = { 3, 2, 0, 0, 0 };
// Allow remaining elements to be zero-initialized.
int rgiArray[5] = { 3, 2 };
As this shows, initializer lists can be truncated but supplying too many initializers generates an error.