КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Автоматические переменные
Классы памяти Каждая переменная и функция, описанная в программе, принадлежат к какому-либо классу памяти. Класс памяти переменной определяет время ее существования и область видимости. Класс памяти для переменной задается либо по расположению ее описания, либо при помощи специального спецификатора класса памяти, помещаемого перед обычным описанием. Класс памяти для функции всегда external, если только перед описанием функции не стоит спецификатор static. Все переменные можно отнести к одному из следующих классов памяти: automatic (автоматическая, локальная), register (регистровая), extern (внешняя), static (статическая).
Автоматические переменные можно описывать явно, используя спецификатор класса памяти auto. По умолчанию принимается, что всякая переменная, описанная внутри функции (локальная переменная) или внутри блока (группа команд, заключенная в фигурные скобки) и не имеющая явного указания на класс памяти, относится к классу памяти для автоматических переменных. Поле видимости автоматической переменной начинается от точки ее описания и заканчивается в конце блока, в котором переменная описана. Доступ к таким переменным из внешнего блока невозможен. Память для автоматических переменных отводится динамически во время выполнения программы при входе в блок, в котором описана переменная. При выходе из блока память, отведенная под все его автоматические переменные, автоматически освобождается. Доступ к автоматической переменной возможен только из блока, где переменная описана, так как до момента входа в блок переменная вообще не существует.
6.2.8.2. Регистровые переменные Спецификатор памяти register может использоваться только для автоматических переменных или для формальных параметров функции. Такой спецификатор указывает компилятору на то, что пользователь желает разместить переменную не в оперативной памяти, а на одном из быстродействующих регистров компьютера. Рекомендуется спецификацию register использовать для переменных, доступ к которым в функции выполняется часто. Полученный в результате код будет выполняться быстрее.
Дата добавления: 2014-12-08; Просмотров: 477; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |