- Локальные переменные
- Формальные параметры
- Статические переменные
- Глобальные переменные
- Input переменные
- Extern переменные
- Инициализация переменных
- Область видимости и время жизни переменных
- Создание и уничтожение объектов
Инициализация переменных
Любая переменная при определении может быть инициализирована. Если не произведена явная инициализация переменной, то значение, хранящееся в данной переменной, может быть каким угодно. Неявная инициализация не производится.
Глобальные и статические переменные могут быть проинициализированы только константой соответствующего типа или константным выражением. Локальные переменные могут быть проинициализированы любым выражением, а не только константой.
Инициализация глобальных и статических переменных производится однократно. Инициализация локальных переменных производится каждый раз при вызове соответствующих функций.
Примеры:
int n = 1;
|
Список значений элементов массива должен быть заключен в фигурные скобки. Пропущенные инициализирующие последовательности считаются равными 0.
Если размер инициализируемого массива не указан, то он определяется компилятором, исходя из размера инициализирующей последовательности.
Примеры:
struct str3
|
Для переменных типа структур допускается частичная инициализация, это же относится и к статическим массивам (с явно заданным размером). Можно проинициализировать один или несколько первых элементов структуры или массива, оставшиеся элементы в таком случае будут проинициализированы нулями.
Смотри также
Типы данных, Инкапсуляция и расширяемость типов, Область видимости и время жизни переменных, Создание и уничтожение объектов