Информатика. Общая информатика. Основы языка C++. Мамонова Т.Е. - 151 стр.

UptoLike

Составители: 

//все элементы массива
Доступ к элементам многомерных массивов возможен и с помощью
индексированных переменных и с помощью указателей:
a[1][1] – доступ с помощью индексированных переменных,
*(*(a+1)+1) доступ к этому же элементу с помощью указа-
телей (рис. 21).
4.6.5. Динамические массивы
Операция new при использовании с массивами имеет следующий
формат:
new тип_массива
Такая операция выделяет для размещения массива участок динами-
ческой памяти соответствующего размера, но не позволяет инициализи-
ровать элементы массива. Операция new возвращает указатель, значени-
ем которого служит адрес первого элемента массива. При выделении
динамической памяти размеры массива должны быть полностью опре-
делены.
Пример 60. Выделение динамической памяти:
1. int *a=new int[100]; /*выделение динамической памяти
размером 100*sizeof(int) байтов*/
double *b=new double[12]; /* выделение динамической па-
мяти размером 10*sizeof(double) байтов */
2. long(*la)[4]; /*указатель на массив из 4 элементов типа
long*/
lа=new[2][4]; /*выделение динамической памяти размером
2*4*sizeof(long) байтов*/
3. int**matr=(int**)new int[5][12]; /*еще один
способ выделения памяти под двумерный массив*/
4. int **matr;
matr=new int*[4]; /*выделяем память под массив указателей
int* их n элементов*/
for(int I=0;I<4;I++)matr[I]=new int[6];/*выделяем
память под строки массива*/
Указатель на динамический массив затем используется при освобо-
ждении памяти с помощью операции delete.
Пример 61. Освобождение динамической памяти.
delete[] a; //освобождает память, выделенную под
массив, если а адресует его начало
151