|
ПрограммированиеВ случае когда компилятор не обладает свободными регистрами, переменной выделяется память как для класса auto. Класс памяти register может указываться для переменных с типом int или указателей с размером, равным размеру int. Переменные, которые объявлены на внутреннем уровне со спецификатором класса памяти static, дают возможность сохранить вид переменной при выходе из блока и применять ее при повторном входе в блок. Данная переменная обладает глобальным временем жизни и областью видимости внутри блока, в котором она объявлена. Для переменных с классом static память выделяется в сегменте данных. В отличие от них переменные класса auto имеют память, которая выделяется в стеке. Исходя из этого, значение переменных с классом static сохраняется при выходе из блока. 14.PОбъявление переменной на внутреннем уровне с классом памяти static В качестве примера рассмотрим объявление переменной i на внутреннем уровне с классом памяти static. исходный файл filel.с main() { } fun1() {static int i = 0; исходный файл file2.c fun2() {static int i = 0; } fun3() {static int i = 0; } В этом примере объявлены три различные переменные с классом памяти static, которые имеют одинаковые имена i ...» |
Код для вставки книги в блог HTML
phpBB
текст
|
|