русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Масив вказівників на рядки


Дата додавання: 2014-04-22; переглядів: 1498.


Масив вказівників – те саме, що й масив змінних типу int чи float. Звичайно він використовується в якості масиву вказівників на рядки.

Приклад того, як це робиться, приведено в програмі 12.14. Сенс використання масиву вказівників замість масиву рядків полягає в економії пам’яті: інакше нам довелося б для кожного, навіть найкоротшого рядка, відводити довжину «по максимуму».

#include<iostream.h>

#include<conio.h>

#include<stdio.h>

#include<bios.h>

const int DAYS=7;

int main()

{clrscr();

char* arrptrs[DAYS]={“Понеділок”,”Вівторок”,”Середа”,”Четвер”,

”Пятниця”,”Субота”,”Неділя”};

for(int j=0;j<DAYS;j++)

cout<<arrptrs[j]<<endl;

bioskey(0);

return 0;

}

Програма 12.14

Якщо рядки не є частиною масиву, то С++ розміщує їх в пам’яті один за одним, щоб не було порожнього простору. Однак для пошуку рядків створюється масив, що містить вказівники на них. Самі рядки – це масиви елементів типу char, тому масив вказівників на рядки є масивом вказівників на char. Це і означає визначення масиву arrptrs в програмі 12.14. Оскільки ж адресою масиву є адреса його першого елементу, то саме ці адреси зберігає масив вказівників на рядки.

 

Управління пам’яттю: операції new і delete

Ми розглянули багато прикладів, в яких масиви використовувалися без врахування розміру пам’яті. В рядку

int arr1[100];

зарезервована пам’ять для 100 елементів типу arr. Масиви є розумним підходом до зберігання даних, але вони мають серйозний недолік: ми повинні знати при написанні програми, наскільки великий масив нам потрібний. Як правило, розмір масиву визначається за максимумом, що призводить до перевитрати пам’яті.

 


<== попередня лекція | наступна лекція ==>
Вказівники на рядкові константи | Операція new


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн