Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Климов. Лекции / Алг_яз_Лекция_30.pptx
Скачиваний:
35
Добавлен:
14.05.2015
Размер:
839.28 Кб
Скачать

Пример:

int matr [6][8];

Многомерные массивы

21

Многомерные массивы

22

При инициализации многомерного массива он представляется

:

либо как массив из массивов, при этом каждый массив заключает

Примеры:

int mass2[][2] ={{1, 1},{0. 2},{1, 0}}; int mass2[3][2] = {1, 1, 0, 2, 1, 0};

М А С С И В Ы

23

Динамические многомерные массивы

Для создания динамического многомерного массива необходимо указать в операции new все его размерности

самая левая размерность может быть переменной

Пример:

int nstr = 5;

int ** m = (int **) new int [nstr][10];

Динамические многомерные массивы 24

Более универсальный и безопасный способ выделения памяти под двумерный массив, когда обе его размерности задаются на этапе выполнения программы, приведен ниже:

int nstr; nstb;

cout << " Введите количество строк и столбцов :"; cin >> nstr >> nstb;

int **a = new int *[nstr];

// 1

for(int i = 0; i<nstr;

i++)

// 2

a[i] = new int [nstb];

// 3

 

1

Динамические многомерные массивы

25

Процессы, происходящие в памяти при выполнении

предыдущего

фрагмента

программы

можно

проиллюстрировать следующей схемой:

 

Динамические многомерные массивы

26

Освобождение памяти из-под

массива с любым количеством

измерений выполняется с

помощью операции delete [].

Динамические многомерные массивы27

Указатель на константу удалить нельзя!!!

28

Для правильной интерпретации

объявлений полезно запомнить

мнемоническое правило:

«суффикс привязан крепче

префикса».

Если при описании переменной используются одновременно префикс

Обратите внимание

29

Строки

30

Соседние файлы в папке Климов. Лекции