Инициализация массива
Инициализация - присвоение значений вместе с описанием данных. Ранее была рассмотрена инициализация простых переменных, например:
int a = 5;
Для инициализации массива за его именем располагают знак присваивания и список инициализации, который представляет собой заключенные в фигурные скобки и разделенные запятыми инициализирующие значения. Ниже приведен пример инициализации массива:
int a[4] = { 15, 21, 1, 304 };
индексы элементов -> 0 1 2 3
Констант в списке инициализации должно быть не больше, чем объявленный размер массива. Если их меньше, то элементы для которых нет констант обнуляются. Для инициализируемого массива допускается вообще не указывать размер. В этом случае размер массива определяется по количеству констант, например по описанию
int c[] = { 1, 15, 18, 11, 20 };
транслятор выделит 10 байт для хранения массива из 5 двухбайтовых целых чисел.
Частный случай инициализации массива - инициализация строк. Массив символов может быть проинициализирован стандартным образом:
char s[] = { 'A', 'B', 'C', 'D' };
Строка символов дополнительно должна завершаться нуль-символом.
char s[] = { 'A', 'B', 'C', 'D', '\0' };
В связи с тем, что инициализацию строк приходится организовывать довольно часто, язык Си предусматривает для этого упрощенную форму записи:
char s[] = "ABCD";
этом случае нуль-символ автоматически дописывается в конец строки. Два последних примера инициализации строки совершенно эквивалентны.
Дата добавления: 2014-12-18; просмотров: 846;