русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Typedef union unsigned void volatile while continue for private struct virtual


Дата додавання: 2014-11-28; переглядів: 780.


 

Ідентифікатор об'єкта має свій набір атрибутів:

1) тип;

2) сфера дії;

3) область видимості;

4) клас пам'яті;

5) простір імен.

Сферою дії ідентифікатора є область програми, у межах якої зберігається зв'язок між ідентифікатором і відповідним об'єктом. Категоріями сфери дії є: блок, функція, клас, файл, програма.

Областю видимості ідентифікатора є область програми, з якої можливий нормальний доступ за його допомогою до відповідного об'єкта. Категорії видимості: блок, функція, клас, файл.

Ім'я об'єкта в зовнішньому блоці може "екрануватися" ім'ям об'єкта внутрішнього блоку. Такий об’єкт у межах внутрішнього блоку є недоступним. При виході із внутрішнього блоку доступ відновлюється. Для доступу із внутрішнього блоку до однойменного об'єкту зовнішнього блоку можна використати операцію дозволу доступу із символом "::".

Клас пам'яті ідентифікатора визначає спосіб розміщення об'єкта в пам'яті. Категорії класу пам'яті: регістри, сегмент даних, стек, купа.

Простором імен є та частина програми, у межах якого будь-який ідентифікатор повинен бути унікальним. Наприклад: для міток простором імен є функція, для імен компонентів класу - клас, для змінної - сфера дії ідентифікатора.

Нижче наведений приклад, що ілюструє поняття області видимості, сфери дії й простору імен. У програмі формуються 4 простори імен: одне глобальне і ще 3 вкладених. У кожному з них оголошується змінна з ім'ям R. Незважаючи на збіг імен, програма працює нормально.

 

 

// Приклад 1

#include <syst.h>

int R=0; // змінна в глобальному просторі


<== попередня лекція | наступна лекція ==>
Pause; // пауза до натискання клавіші | Void main() // (рівень 0)


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн