Ідентифікатор об'єкта має свій набір атрибутів:
1) тип;
2) сфера дії;
3) область видимості;
4) клас пам'яті;
5) простір імен.
Сферою дії ідентифікатора є область програми, у межах якої зберігається зв'язок між ідентифікатором і відповідним об'єктом. Категоріями сфери дії є: блок, функція, клас, файл, програма.
Областю видимості ідентифікатора є область програми, з якої можливий нормальний доступ за його допомогою до відповідного об'єкта. Категорії видимості: блок, функція, клас, файл.
Ім'я об'єкта в зовнішньому блоці може "екрануватися" ім'ям об'єкта внутрішнього блоку. Такий об’єкт у межах внутрішнього блоку є недоступним. При виході із внутрішнього блоку доступ відновлюється. Для доступу із внутрішнього блоку до однойменного об'єкту зовнішнього блоку можна використати операцію дозволу доступу із символом "::".
Клас пам'яті ідентифікатора визначає спосіб розміщення об'єкта в пам'яті. Категорії класу пам'яті: регістри, сегмент даних, стек, купа.
Простором імен є та частина програми, у межах якого будь-який ідентифікатор повинен бути унікальним. Наприклад: для міток простором імен є функція, для імен компонентів класу - клас, для змінної - сфера дії ідентифікатора.
Нижче наведений приклад, що ілюструє поняття області видимості, сфери дії й простору імен. У програмі формуються 4 простори імен: одне глобальне і ще 3 вкладених. У кожному з них оголошується змінна з ім'ям R. Незважаючи на збіг імен, програма працює нормально.
// Приклад 1
#include <syst.h>
int R=0; // змінна в глобальному просторі