На головну

Область дії і область видимості змінних.

  1. I. Область застосування
  2. I. ПРОБЛЕМИ Взаємодія ПРИРОДИ І СУСПІЛЬСТВА
  3. III. Управління предметною областю проекту
  4. N У площині контакту воно закінчується злиттям вогнищ взаємодії, що є необхідною умовою виникнення міцних хімічних зв'язків між матеріалами.
  5. N Нагрівання основного металу і розплавлення припою призводять до того, що їх активність знижується внаслідок взаємодії з киснем повітря і утворення оксидної плівки.
  6. N Основу ТП виготовлення деталей становлять дії спрямованого формування радіотехнічних, хімічних, механічних та інших властивостей вихідного матеріалу заготовки
  7. N При зварюванні плавленням ланцюгова реакція розтікання з виділенням енергії поверхневого натягу збільшує площу контакту навколо кожної точки взаємодії.

У мові C ++ кожна функція це окремий блок програми. Потрапити в тіло функції можна тільки за допомогою виклику даної функції, тобто не можна оператором безумовного переходу goto перейти в середину іншої функції.

Як вже зазначалося вище, у кожної змінної повинен бути оригінальний ідентифікатор, але в різних функціях (блоках) змінні можуть мати однакові ідентифікатори.

Області дії змінних розрізняються на три основні типи змінних:

глобальні, локальні і формальні параметри.

Локальні змінні - це змінні оголошені всередині блоку або всередині функції. У C ++ можливо опис локальних змінних всередині будь-якого блоку програми. (Блок - кілька операторів укладених у фігурні дужки) При цьому змінна буде доступна тільки всередині того блоку, всередині якого вона описана. Локальна змінна існує тільки під час виконання функції (блоку), в якій вона описана при виході з функції (блоку) ця змінна перестає існувати і її значення втрачається. Таким чином, не можна очікувати, що дані містяться в локальній змінній залишаться незмінними при наступних викликах функції. При описі локальної змінної її початкове значення не визначене, тобто вона не буде дорівнювати нулю!

main ()

{

int first

...............

{

int second

}

Мінлива second в цьому місці не визначена.

}

main ()

{

int first;

...............

{

int first; // Змінна відмінна від first в зовнішньому блоці

...............

}

...............

}



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

Мова C ++ гарантує, що на відміну від локальних змінних при описі глобальних змінних без явного ініціалізатор значення дорівнюватиме нулю. Глобальна змінна існує протягом усього часу виконання програми.

Область дії глобальної змінної - вся програма.

Використання глобальних змінних має свої недоліки:

1. вони займають пам'ять на протязі всього часу роботи програми

(Локальні змінні звільняють пам'ять після завершення функції або блоку, в якій вони описані)

2. використання глобальних змінних робить функції менш загальними і ускладнює їх використання в інших програмах.

Формальні параметри - це змінні оголошені при описі функції.

Формальні параметри можуть використовуватися в тілі функції як локальні змінні, якими вони по суті справи і є. Область дії формальних параметрів - блок є тілом функції. Формальні параметри існують тільки під час виконання функції.

приклад:

#include

int var1 = 12; // описана як глобальна змінна

main ()

{

if (cout << "\ n зовнішній блок if () \ n")

{

int var1 = 34;

cout << "в зовнішньому блоці var1 =" << var1; // 34

if (cout << "\ n внутрішній блок if () \ n")

{

int var1 = 56;

cout << "\ n у внутрішньому блоці var1 =" << var1; // 56

}

cout << "\ n в зовнішньому блоці var1 =" << var1; // 34

}

cout << "\ n в main () var1 =" << var1; // 12

}




Аргументи функції main () | Модифікатори змінних.

Лекція 1. | ВСТУП | ОБ'ЄКТИ І КЛАСИ. | Ім'я об'єкта. ім'я функції (); | Спадкування. | Директиви препроцесора. | Включення файлів. | Умовна компіляція. | Порозрядні операції. | Доступ до окремого біту. |

© um.co.ua - учбові матеріали та реферати