Переменной в объявлении может быть присвоено
начальное значение посредством инициализатора. Можно инициализировать
переменные любого типа. Функции не инициализируются. Записи инициализатора в
объявлении предшествует знак равенства: =<инициализатор>
Базовые типы и указатели
Можно инициализировать переменные любого
типа. Функции не инициализируются. Синтаксис: =<выражение>
Значение выражения присваивается переменной.
Составные типы
Элементы объектов составных типов
инициализируются только константными выражениями. Инициализация объектов
составных типов имеет следующий синтаксис:
= {<список инициализаторов>}
Список инициализаторов представляет собой
последовательность инициализаторов, разделенных запятыми. Список
инициализаторов заключается в фигурные скобки. Каждый инициализатор в списке
представляет собой либо константное выражение, либо, в свою очередь, список
инициализаторов. Таким образом, заключенный в фигурные скобки список может
появиться внутри другого списка инициализаторов. Эта конструкция используется
для инициализации тех элементов объектов составных типов, которые сами имеют
составной тип. Значения константных выражений из каждого списка инициализаторов
присваиваются элементам объекта составного типа в порядке их следования. Если в
списке инициализаторов меньше элементов, чем в объекте составного типа, то
оставшиеся элементы объекта неявно инициализируются нулевыми значениями. Если
же число инициализаторов больше, чем требуется, то выдается сообщение об
ошибке. Эти правила применяются и к каждому вложенному списку инициализаторов.
Строковые
инициализаторы
Существует специальная форма инициализации
массива типа char - спомощью символьной строки. Например, объявление char
code[] = "abc";
инициализирует массив code четырьмя символами-'a', 'b', 'c' и символом '\0', который
завершает символьную строку. Если в объявлении размер массива указан, а длина
инициализирующей строки превышает указанный размер, то лишние символы
отбрасываются. Если инициализирующая строка короче, чем специфицированный
размер массива, то оставшиеся элементы массива инициализируются нулевым
значением (символом '\0'). Символьной строкой можно инициализировать не только
массив типа char, но и указатель на тип char.
|