Другие языки программирования и технологии

Локальные и глобальные изменения в С + +области видимости

Помогите плз с:
локальные и глобальные изменения в С + +области видимости
надо сдавать курсовую а я вывод ненаписал, завтра уже сдавать, времени мало, кто шарит в с++ помогите плз, буду благодарен!) )
надо вывод хотя б на страничку ((
Существует четыре описателя классов памяти: auto; static; register; extern.
Первые три описывают локальные переменные.
Причём auto уже не указывается. Все переменные по умолчанию auto.
regiser также утратил свою первоначальную роль. Ранее, если в программе указывался этот описатель, то под переменную память выделялась в стеке. То теперь решение выделять память в стеке полностью отдано на откуп операционной системе. Может выделить, а может и нет.
Статическая переменная обладает тем важным и очень полезным свойством, что будучи локальной, по отношению к функции в которой она используется, она сохраняет последнее присвоенное ей значение и после окончания работы функции, и хранит это значение до следующего вызова функции.
extern - описывает класс памяти глобальных переменных. Глобальная переменная должна быть обязательно инициализирована в месте объявления. Функция может использовать глобальную переменную даже в том случае если она определена позже в этом либо другом файле. Областью действия такой переменной является вся программа. Чтобы использовать такую переменную в других файлах программы она должна быть в них описана. Например так.. .

extern int n; // Без повторной инициализации.

Время жизни переменной - время выполнения программы.
Использование глобальных переменных не желательно и не рекомендовано. То есть, если существует возможность обойтись без глобальной переменной, значит предпочтение стоит отдать локальной переменной.

Также можно объявить статическую внешнюю переменную, которая в отличие то глобальной будет видна только в том файле, в котором он объявлена. Это даёт возможность избежать вызова переменной из другого файла программы.

Область видимости локальной переменной ограничена блоком программы, в котором она объявлена. Блок программы эта область заключённая в фигурные скобки. Если в программе существует блок вложенный в другой блок, и каждый из них имеет переменную с одним именем, то переменная расположенная во внешнем блока является глобальной по отношению к той, которая расположена во внутреннем блоке.

Важно! Локальная переменная, имеет преимущество перед одноименной глобальной переменной. Это значит, что, переменная расположенная во внешнем блоке, теряет из области видимости внутренний блок, по причине того, что там расположена одноименная переменная.

Вроде всё! Удачи!
Антон Машковцев
Антон Машковцев
57 829
Лучший ответ
1
2

скомпилируешь что-то из материалов по вышеприведённым ссылкам
Игорь Поляков
Игорь Поляков
11 212