|
Функции и структура программСтруктура блоков C не является блок-структурированной языке вроде Pascal или других языков, поскольку функцию нельзя обозначить внутри другой функции. Кроме того, переменные могут быть описаны в блок-структурированном виде внутри функции. Объявление переменных (включая инициализацию) может следовать за левой фигурной скобкой, которая начинает любое составное утверждение, а не только начинает функцию. Переменные, объявленные таким образом, скрыто от одинаково названных переменных во внешних блоках и остаются существовать в соответствующую правой фигурной скобки. Например, в if (n> 0) { int i; / * объявления новой i * / for (i = 0; i } зоны действия переменной i является "истинное" ответвление if; не будет иметь никакого отношения ни к одному i вне этого блока. Автоматическую переменную, объявленную и инициированную в блоке, инициировано каждый раз при вхождении в этот блок. Автоматические переменные, включая формальные параметры функций, также скрытые от внешних переменных и функций с тем же названием. Имея объявления int x; int y; f (double x) { double y; } переменная x, как параметр функции f типа double, нет ничего общего с внешней x типа int. То же касается переменной y. Но, в общем, лучше избегать названий переменных, которые совпадают с названиями из других зон действия, слишком велика вероятность путаницы и ошибок. Продолжение статьи: ч.1 Продолжение статьи: ч.2 Продолжение статьи: ч.3 Продолжение статьи: ч.4 Продолжение статьи: ч.5 Продолжение статьи: ч.6 Продолжение статьи: ч.7 Продолжение статьи: ч.8 Продолжение статьи: ч.9 Продолжение статьи: ч.10 Продолжение статьи: ч.11 Продолжение статьи: ч.12 Продолжение статьи: ч.13 Продолжение статьи: ч.14 Продолжение статьи: ч.15 Продолжение статьи: ч.16 Продолжение статьи: ч.17 Продолжение статьи: ч.18 Продолжение статьи: ч.19 Продолжение статьи: ч.20 Продолжение статьи: ч.21 Другие статьи по теме: - Символьные массивы- Типы, операторы и выражения - Функции и структура программ - Введение в c++ - Внешние переменные и область действия |
|
2006-2024 © SMTI.RU Главная страница | Связаться с нами |