Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Представлення масиву у пам’яті

При об’яві одновимірного масиву

тип ім’я_масиву [n];

в пам’яті виділяється n-елементів вказаного типу (n – розмірність масиву) та створюється змінна, що є покажчиком на нульовий елемент масиву (ім’я масиву)

int a[10];

 

a[0] a[1] a[9]

                   

int int int

 

 

a
Рисунок 4.1 – Представлення одномірного масива у пам’яті

При об’яві двомірного масиву int b[5][5], розподіл пам’яті відбудеться відповідно до рис. 4.2.

int **

 

 

b

 
   
   
   
 

int int int int int

 

         

b[0]

b[1]

b[2] …

b[3]

         

b[4]

 

b[4][0] b[4][4]

int *

Рисунок 4.2 – Представлення двомірного масива у пам’яті

 


Для виділення динамічної пам’яті використовують оператор new:

змінна_покажчик = new тип;

змінна_покажчик = new тип [];

Для звільнення динамічної пам’яті використовують оператор delete:

delete змінна_покажчик;

delete [розмірність] ім’я_масву;

Для виділення місця в пам’яті під динамічний масив необхідно виконати наступні кроки:

int *a;

a = new int [n];

Під двовимірний масив:

int **b;

b = new int * [n];

for (int i=0; i<n; i++)

b[i] = new int [m];

Контрольні запитання

1. Що таке покажчик?

2. Які матричні операції можливо використовувати з покажчиками?

3. Що спільного між покажчиком та масивом?

4. Коли використовується динамічна пам’ять?

5. Як звільнити динамічну пам’ять?

6. Що таке динамічна пам’ять?

7. Представлення двовимірного масиву у пам’яті?

8. Що працює швидше: індекси або покажчики?


Лабораторна робота №5
Програмування задач по обробці послідовності символів




Переглядів: 676

<== попередня сторінка | наступна сторінка ==>
Основні теоретичні відомості | Мета роботи

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

  

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.003 сек.