Справочная система C guide


Инициализация переменных


Любая переменная, кроме формальных параметров или автоматических массива, структуры или объединения, при определении может быть инициализирована. Любая постоянная переменная инициализируется нулем (0) ', если явно не задано другое начальное значение. В качестве начального значения может использоваться любое константное выражение. Основные типы

Примеры

mt 1 = 1,

float x= 3.145e - 2,

Массивы Примеры

mta[] = {1,4,9,16,25,36},

chars [20] = {'a'.'b'.'c' },

Список значений элементов массива должен быть заключен в фигурные скобки.

Если задан размер массива, то значения, не заданные явно, равны 0.

Если размер массива опущен, то он определяется по числу начальных значений. Строки

Пример

char s[] = "hello". Это описание эквивалентно описанию



chars[] = {'h'.'e','l',T,'o'.'\0'}, Структуры

Пример

struct person {

int height, char gender,

};

struct person x = {70, Y \ ,

struct person family [ ] = { {73.'X'}. {68.'Y'}, {50.'X'}

Это значит, что если переменная целая, то ее начальное значение равно 0, если символьная, то '\0', если это число с плавающей точкой, то 0.0.

Список значений для каждой струмурнои переменной должен быть заключен в фигурные скобки, хогя, если число значений соответствует числу структуры, это не обя эательно Значения присваиваются элементам структуры в порядке размещения элементов в определении структурного типа. Список значений может быть неполным, в этом случае неинициализированные элементы получают в качестве значения 0.

Пример

struct person people [l0] = { {68}, {71},

{74},

Элементам height первых трех структурных переменных массива присваиваются явные значения; остальные переменные получают значение 0.

Содержание раздела