Элементам массива можно назначать начальные значения точно так же, как переменным при их объявлении. Для этого нужно просто перечислить начальные значения массива, начиная с первого элемента. Значения в списке разделяются запятыми, и весь список заключается в фигурные скобки.
В операторе:
1 |
int integers[5] = { 0, 1, 2, 3, 4 }; |
элементу integers[0] присваивается значение 1, integers[1] — значение 1, integers[2] — значение 2 и так далее.
Массивы символов инициализируются аналогичным образом. Например, в операторе:
1 |
char letters[5] = { 'a', 'b', 'c', 'd', 'e' }; |
определяется массив символов, и пяти элементам этого массива присваиваются соответственно значения ‘a’, ‘b’, ‘c’, ‘d’ и ‘e’.
Вы не обязаны полностью инициализировать весь массив. Если указано меньше количество начальных значений, инициализируется соответствующее количество элементов, остальные значения задаются равными нулю. Например, в объявлении:
1 |
float sample_data[500] = { 100.0, 300.0, 500.5 }; |
инициализируются первые три значения массива sample_data(соответственно 100.0, 300.0 и 500.5), а остальным 497 элементам присваивается значение 0.
Заключая номер элемента в прямоугольные скобки, можно инициализировать определенные элементы массива в любом порядке. Например, в строках:
1 2 |
int x = 1233; int a[] = { [9] = x + 1, [2] = 3, [1] = 2, [0] = 1 }; |
определяется массив a из 10 элементов(по максимальному указанному индексу) и для последнего элемента задается значение x + 1(1234). Кроме того, происходит инициализация первых трех элементов(значения 1,2 и 3 соответственно).