Выделение памяти под одномерный динамический массив

Для того чтобы выделить память под одномерный динамический массив в языке С++ существует 2 способа.

1) при помощи операции new, которая выделяет для размещения массива участок динамической памяти соответствующего размера и не позволяет инициализировать элементы массива.

Синтаксис:

ИмяМассива = new Тип [ВыражениеТипаКонстанты];

ИмяМассива – идентификатор массива, то есть имя указателя для выделяемого блока памяти.

Тип – тип указателя на массив.

ВыражениеТипаКонстанты – задает количество элементов (размерность) массива. Выражение константного типа вычисляется на этапе компиляции.

Например:

Int *mas;

mas = new int [100]; /*выделение динамической памяти

размером 100*sizeof(int) байтов*/

double *m = new double [n]; /*выделение динамической

памяти размером n*sizeof(double) байтов*/

long (*lm)[4];

lm = new long [2] [4]; /*выделение динамической памяти

размером 2*4*sizeof(long) байтов*/

При выделении динамической памяти размеры массива должны быть полностью определены.

 

2) при помощи библиотечной функции malloc (calloc), которая служит для выделения динамической памяти.

Синтаксис:

ИмяМассива = (Тип *) malloc(N*sizeof(Тип));

или

ИмяМассива = (Тип *) calloc(N, sizeof(Тип));

ИмяМассива – идентификатор массива, то есть имя указателя для выделяемого блока памяти.

Тип – тип указателя на массив.

N – количество элементов массива.

Например:

float *a;

a=(float *)malloc(10*sizeof(float));

// или

a=(float *)calloc(10,sizeof(float));

/*выделение динамической памяти размером 10*sizeof(float) байтов*/

Так как функция malloc (calloc) возвращает нетипизированный указатель void *, то необходимо выполнять преобразование полученного нетипизированного указатель в указатель объявленного типа.

 








Дата добавления: 2015-02-16; просмотров: 1001;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.003 сек.