Форум программистов, компьютерный форум CyberForum.ru

Выделение памяти под двумерный массив - C++

Восстановить пароль Регистрация
 
Linzman
0 / 0 / 0
Регистрация: 31.10.2012
Сообщений: 48
18.10.2013, 07:53     Выделение памяти под двумерный массив #1
Доброе время ! Проблема такая : препод задал задачу сортировки массива произвольного типа(char* int* или double*) и сказал, чтобы любой тип массива хранился в структуре такого типа
C++
1
2
3
4
struct Storage {
    int count;        //хранит текущее число используемых элементов в массиве
    int allocated;  //хранит реальный  выделенный размер массива pchars
    char **pchars;  //массив указателей, размер которого можно динамически изменять
. Конкретно вопрос в следующем : как мне выделять память под двумерный массив, если я сначала должен выделять память под **, а потом в цикле под *.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
calculon
 Аватар для calculon
14 / 14 / 3
Регистрация: 18.07.2012
Сообщений: 79
18.10.2013, 08:46     Выделение памяти под двумерный массив #2
C++
1
2
3
char** pp = new char[n];
for (int n=0; i<n; i++)
    pp[i] = new char[m]
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
18.10.2013, 08:49     Выделение памяти под двумерный массив #3
calculon, компилировали?
calculon
 Аватар для calculon
14 / 14 / 3
Регистрация: 18.07.2012
Сообщений: 79
18.10.2013, 08:52     Выделение памяти под двумерный массив #4
Поторопился. alsav22, спасибо, поправил
C++
1
2
3
char** pp = new char*[n];
for (int n=0; i<n; i++)
    pp[i] = new char[m];
Linzman
0 / 0 / 0
Регистрация: 31.10.2012
Сообщений: 48
18.10.2013, 09:05  [ТС]     Выделение памяти под двумерный массив #5
Так в том то и дело что не char. Повторю, мне нужно создавать двумерный массив согласно полю allocated в структуре. Как я понял для char'а он 1024*sizeof(char)(размер строки ограничен 1024 по условию) но в остальных двух случаях он либо sizeof(int) либо sizeof(double). Можно использовать конструкцию switch(allocated) при выделении памяти ? Есть ли альтернативные от этого способы ?
aLarman
636 / 557 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
18.10.2013, 09:18     Выделение памяти под двумерный массив #6
Цитата Сообщение от Linzman Посмотреть сообщение
Так в том то и дело что не char. Повторю, мне нужно создавать двумерный массив согласно полю allocated в структуре. Как я понял для char'а он 1024*sizeof(char)(размер строки ограничен 1024 по условию) но в остальных двух случаях он либо sizeof(int) либо sizeof(double). Можно использовать конструкцию switch(allocated) при выделении памяти ? Есть ли альтернативные от этого способы ?
Цитата Сообщение от Linzman Посмотреть сообщение
C++
1
int allocated; //хранит реальный выделенный размер массива pchars
этот параметр хранит сколько выделено а этот сколько из них занято
C++
1
int count;
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.10.2013, 10:45     Выделение памяти под двумерный массив
Еще ссылки по теме:

Динамическое выделение памяти под массив C++
Правильно ли в приведенном примере реализовано выделение и очищение памяти под двумерный вектор C++
Динамическое выделение памяти под двумерный массив C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
calculon
 Аватар для calculon
14 / 14 / 3
Регистрация: 18.07.2012
Сообщений: 79
18.10.2013, 10:45     Выделение памяти под двумерный массив #7
Linzman, вы уже тогда задание полностью приведите, а то как то сумбурно все это выглядит...
Yandex
Объявления
18.10.2013, 10:45     Выделение памяти под двумерный массив
Ответ Создать тему
Опции темы

Текущее время: 02:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru