Поняття змінної. Оголошення змінної. Локальні та глобальні змінні. Виділення пам’яті для змінних. Константи

Поняття змінної. Оголошення змінної. Локальні та глобальні змінні. Виділення пам’яті для змінних. Константи


Зміст



1. Що називається змінною?

Змінна (variable) у програмі – це іменована комірка пам‘яті, яка призначена для зберігання деякого значення. Збережене значення може бути результатом обчислення виразу, числовою чи рядковою константою тощо.

При розробці програми, програміст на власний розсуд дає імена змінним. Ім‘я змінної є іменем ідентифікатора. Це ім‘я повинно відповідати синтаксису мови C/C++. Більш детально про імена змінних описується в темі:

Для розв‘язку задачі, програміст може використовувати будь-яку кількість змінних у програмі. Найчастіше змінні використовуються у виразах при проведенні обчислень.

Бажано, щоб ім’я змінної відповідало її призначенню у програмі.

Наприклад, якщо змінна використовується для зберігання деякого максимального значення, тоді її ім’я може бути Max.

У мові C/C++ кожна змінна повинна мати власний тип. Більш детально про типи даних C/C++ описується в статті:

2. Який загальний вигляд опису змінної в C/C++?

Загальний вигляд опису змінної:

тип список_змінних;

де

  • тип – тип даних, що відповідає змінним із список_змінних;
  • список_змінних – перелік змінних заданого типу, розділених комою.

Змінна може мати до 1024 символи будь-якого імені.

Приклад оголошення змінних різних типів.

int a, b, c;
char sym;
bool f_is;
float x, y;
double z;

3. В яких місцях програми можна оголошувати змінні? Як класифікуються змінні в залежності від місця оголошення в програмі?

Змінні можуть бути оголошені:

  • всередині функцій;
  • у визначенні параметрів функцій;
  • за межами усіх функцій.

В залежності від місця оголошення в програмі, змінні класифікуються наступним чином:

  • локальні змінні (оголошуються всередині функцій);
  • формальні параметри (є параметрами функцій);
  • глобальні змінні (оголошуються за межами функцій).

4. Що таке локальні змінні? В яких місцях програми оголошуються локальні змінні?

Локальні змінні – це змінні, які оголошені (описані) всередині функцій. Доступ до таких змінних мають тільки оператори, що використовуються в тілі функції.

Локальні змінні створюються в момент виклику функції. Як тільки виконання функції завершується, локальні змінні знищуються.

Приклад. Нехай дано функцію GetMax3(), що визначає максимальне значення між трьома числами. У функції описується локальна змінна res. Область дії змінної визначена фігурними дужками { }.

...

int GetMax3(int a, int b, int c)
{
    int res; // res - локальна змінна
    res = a;
    if (res<b) res = b;
    if (res<c) res = c;
    return res;
}

...

5. Що означає термін “знищення змінної”?

Локальні змінні створюються в момент виклику функції. Як тільки виконання функції завершується, локальні змінні знищуються.

Термін “знищення змінної” означає: знищення змінної в оперативній пам’яті після завершення функції, в якій ця змінна була оголошена.

6. Що означає термін “формальний параметр”?

Формальний параметр – це змінна, яка є вхідним параметром функції. При виклику функції, їй передаються аргументи.

Значення цих аргументів копіюються у формальні параметри функції у порядку їх виклику.

Формальні параметри оголошуються після імені функції всередині круглих дужок ( ).

Приклад. Нехай дано оголошення функції GetMax3(), яка знаходить максимальне значення між трьома цілими числами.

...

// Оголошення функції GetMax3
int GetMax3(int a, int b, int c)
{
    // a, b, c - формальні параметри
    int res; // res - локальна змінна
    res = a;
    if (res<b) res = b;
    if (res<c) res = c;
    return res;
}

...

// Виклик функції GetMax3() з іншого програмного коду
max = GetMax3(8, 5, 11); // числа 8, 5, 11 є аргументами функції

...

У даному прикладі, у функції GetMax3() є 3 формальні параметри з іменами a, b, c. При виклику функції з іншого програмного коду їй передаються 3 числа (аргументи), які копіюються у формальні параметри. Число 8 копіюється в формальний параметр a. Число 5 копіюється у формальний параметр b. Число 11 копіюється у формальний параметр c.

7. Що таке глобальні змінні? Яка відмінність між глобальними та локальними змінними?

Глобальна змінна – це змінна, доступ до якої мають усі функції в програмі. Глобальні змінні зберігають свої значення на протязі усього часу виконання програми. Цей час називається часом життя глобальної змінної.

Глобальна змінна оголошується за межами усіх функцій.

Приклад. У даному прикладі оголошено глобальну змінну max та дві функції GetMax2() та GetMax3().

...

int max; // max - глобальна змінна

// Оголошення функції GetMax2
int GetMax2(int a, int b)
{
    // a, b - формальні параметри
    max = a; // використання глобальної змінної max у функції GetMax2()
    if (max<b) max = b;
    return max;
}

// Оголошення функції GetMax3
int GetMax3(int a, int b, int c)
{
    // a, b, c - формальні параметри
    max = a; // використання глобальної змінної max у функції GetMax3()
    if (max<b) max = b;
    if (max<c) max = c;
    return max;
}

8. Приклади оголошення змінних різних типів

 

int a, b, c;
char sym;
bool f_is;
float x, y;
double z;

9. Як виділяється пам‘ять для змінних цілочисельних типів?

При оголошенні змінної для неї виділяється пам’ять. Розмір пам’яті, що виділяється, залежить від типу змінної. Розмір виділеної пам’яті впливає на діапазон значень, які може приймати змінна.

Для змінних цілих типів виділяється пам’ять відповідно до таблиць.

Для 16-розрядного середовища.

Для 32-розрядного середовища.

10. Як виділяється пам‘ять для змінних типів з плаваючою комою?

Для типів з плаваючою комою таблиця виділеної пам’яті для змінної має вигляд як показано нижче. Виділення пам’яті для змінних типів з плаваючою комою не залежить від того, яку розрядність має середовище (16 або 32 розряди).

11. Як виділяється пам‘ять для змінних символьного (char) та логічного (bool) типів?

Для змінних символьного типу незалежно від середовища (16 чи 32 розрядне) виділяється пам’ять на основі наступної таблиці.

12. Що таке константи у мові програмування C++? Як оголосити константу?

Константа – це є змінна, яка не може змінювати свого значення на протязі виконання програми. Значення константі присвоюється при її оголошенні. Для оголошення константи використовується ключове слово const.

Загальний вигляд оголошення константи

const тип ім‘я_константи = константне_значення;

де

  • тип – тип який отримує константа;
  • ім‘я_константи – ім‘я, за яким буде здійснюватись використання константного значення.

Приклади оголошення констант.

const float Pi = 3.1415; // Число Пі
const int Max = 1000;    // константа з іменем Max
int const Min = 100;     // константа з іменем Min
const char New_Line = '\n';
const bool YES = true;


Зв’язані теми