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

Презентация:



Advertisements
Похожие презентации
Вказівники Вказівник (або покажчик) – особливий тип даних, значенням якого є адреса певного байта оперативної памяті. Значення покажчика - це беззнакове.
Advertisements

Розробив: Студент 221 грп Олару Дмитро. Залежно від відстані виділяють: Локальні мережі – об'єднання комп'ютерів, що розміщені на невеликих відстанях.
ІНФОРМАТИКА. 9 КЛАС Програмне забезпечення комп'ютерних систем Навчальна презентація вчителя Большакової Кристини Сергіївни ЗОШ 9 м. Ізмаїл.
Урок 6 5 клас. Файли, папки та операції над ними.
Типи даних мови Visual Basic та їх опис. Опис величин Величина - це об'єкт, який має стале або змінне значення. Основні характеристики величин: ім'я,
1 Підпрограми- процедури (Turbo Pascal 7.0) Підпрограми- процедури (Turbo Pascal 7.0)
Запам'ятай! Операційна система (ОС) – комплекс програм, що забезпечує: керування роботою пристроїв компютера та обмін даними між ними; зберігання даних.
Вказівники на функції В мові С імя функції є константним вказівником на перший байт виконавчого коду функції. Це адреса оперативної памяті, яка відповідає.
Основи алгоритмізації та програмування Надання значень величинам. Вказівки присвоєння та введення.
це електронний документ, який містить гіперпосилання на інші документи. Термін «гіпертекст» запровадив Тед Нельсон у 1969 році.
Бройченко А.Г Підпрограми-функції (Turbo Pascal 7.0) Підпрограми-функції (Turbo Pascal 7.0) Інформатика-11 Тема-5.
Урок клас Тема. Засоби перегляду зображень, їх призначення і функції. Змінення значень властивостей графічних зображень : розмір, колір. Основні.
Види веб-сайтів та способи їх створення НВК "Школа-гімназія "Сихівська"
Підпрограми (процедури і функції). Підпрограмою – називається найменована логічно закінчена група вказівок, яку можна викликати для виконання довільну.
Коротка О.Б.. Це зрозуміла та точна інструкція (указівка) виконавцю, як йому реалізувати певну послідовність дій, призначених досягнути поставленої мети.
ІНФОРМАТИКА. 9 КЛАС Програмне забезпечення комп'ютерних систем Розділ 6 Навчальна презентація з інформатики для 9 класу вчителя Анрієнко М.А.
Використання довідкової системи інтерактивна довідкова система До складу операційної системи Windows XР входить інтерактивна довідкова система, яка забезпечує.
Урок 17 7 клас. Електронні таблиці. Табличний процесор MS Excel.
Урок 10 5 клас. Комп'ютернні мережі. Локальна мережа. Використаннямережевих папок
Транксрипт:

Класи пам'яті даних

Клас пам'яті, час існування та видимість об'єкта Кожен обєкт програми (змінна, функція,...) має свій тип і клас памяті. Тип визначає обсяг памяті для обєкта і операції, що можуть виконуватись над обєктом. Клас пам'яті задає місце розташування об'єкта в оперативній пам'яті та встановлює для нього час існування, тобто час, протягом якого обєкт зберігається в оперативній памяті, і область видимості, яка визначає ту частину програми, де можна використовувати цей обєкт. На відміну від типу, клас памяті можна явно не вказувати, тоді він встановлюється компілятором за місцем оголошення об'єкта. За часом існування обєкти поділяють на три групи: глобальні (або статичні) – існують протягом усього часу виконання програми; локальні – існують лише при виконанні блоку, де вони оголошені; динамічні – час існування змінюється програмою.

Глобальні дані зберігаються в окремій області оперативної памяті – сегменті даних. Локальні дані – в області, що називається стеком. Динамічні дані – в області динамічної памяті. За правилами замовчування змінні, описані всередині блоку, та формальні параметри функцій мають локальний час існування. Змінні, описані зовні всіх блоків (між функціями) мають глобальний час існування. ( Блоком вважається тіло функції, а також внутрішня група описів у фігурних дужках) Функції в С – програмах можна описувати тільки на зовнішньому рівні, тому всі функції мають глобальний час існування. За областю видимості (або областю дії) обєкти ділять на три групи: глобальні – видимі в межах усієї програми; частково глобальні – видимі в межах одного програмного файла; локальні – видимі в блоці, де оголошено даний обєкт.

Область дії глобальних і локальних змінних Переважно змінні програми мають локальний час існування та локальну видимість. Глобальними оголошують окремі змінні, призначені для спільного використання. Правила: - змінні зовнішнього рівня (між функціями) є частково глобальними з областю дії від точки оголошення до кінця файла; - змінні внутрішнього рівня (всередені блоку) і формальні параметри функцій мають область дії від точки оголошення до кінця функції (блоку); - змінні- параметри прототипу функції видимі в межах цього прототипу; - якщо імя внутрішньої змінної збігається з іменем зовнішнього обєкта, в межах блоку внутрішня змінна закриває зовнішню, а за межами блоку дія зовнішнього обєкта відновлюється; - клас памяті змінних можна встановити явно за допомогою специфікаторів.

#include … int n; //частково глобальна змінна int load(int n); //n - локальна для прототипу int main(int a) { //a - локальна для функції int i = 0; //i - локальна для блоку … } int load(int a) { int n = 0; //n - закриває зовнішню змінну … // з такою назвою в межах блоку } Всі глобальні та статичні змінні автоматично ініціалізуються нульовими значеннями, а для локальних це не виконується.

Специфікатори класів пам'яті Специфікатори застосовують тільки тоді, коли потрібно змінити стандартний клас памяті обєкта, інакше він встановлюється за правилами замовчування. Синтаксис: специфікатор_класу_памяті тип імя_змінної Специфі- катор Клас пам'яті Застосування Час існування Область дії Автоматична ініціалізація локальні змінні глобальні змінні autoавтоматичнийтакнілокальнийлокальнавідсутня registerрегістровийтакнілокальнийлокальнавідсутня staticстатичнийтак глобальний локальна / частково- глобальна ініціалізація нулем externзовнішнійтак глобальний частково- глобальна ініціалізація заборонена

Специфікатори локальних змінних: auto - клас за замовчуванням; register - зберігання змінної у регістрі процесора, дає змогу істотно скоротити час звертання до змінних, за відсутності вільних регістрів змінна буде опрацьовуватись як змінна з класом auto; така змінна не має адреси; static - статичні змінні існуються протягом усього часу виконання програми, проте областю їх дії залишається той блок, у якому вони оголошені; extern - змінна є посиланням на глобальну змінну з тим самим іменем і типом, описану далі в тексті програми або в іншому програмному файлі. Специфікатори глобальних змінних: static - областю дії даної змінної буде частина програми від точки опису до кінця файлу; в інших файлах програми ця змінна недоступна; extern - змінні є посиланнями на відповідні зовнішні змінні та роблять ці змінні видимими (оголошеними) в межах поточного файлу.