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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Linzman
0 / 0 / 0
Регистрация: 31.10.2012
Сообщений: 48
#1

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

18.10.2013, 07:53. Просмотров 478. Ответов 6
Метки нет (Все метки)

Доброе время ! Проблема такая : препод задал задачу сортировки массива произвольного типа(char* int* или double*) и сказал, чтобы любой тип массива хранился в структуре такого типа
C++
1
2
3
4
struct Storage {
    int count;        //хранит текущее число используемых элементов в массиве
    int allocated;  //хранит реальный  выделенный размер массива pchars
    char **pchars;  //массив указателей, размер которого можно динамически изменять
. Конкретно вопрос в следующем : как мне выделять память под двумерный массив, если я сначала должен выделять память под **, а потом в цикле под *.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.10.2013, 07:53     Выделение памяти под двумерный массив
Посмотрите здесь:

C++ Динамическое выделение памяти под двумерный массив
Динамическое выделение памяти под двумерный массив C++
Выделение памяти под массив C++
Выделение памяти под двумерный массив C++
Выделение памяти под двумерный массив С++ C++
Динамическое выделение памяти под массив C++
Правильно ли в приведенном примере реализовано выделение и очищение памяти под двумерный вектор C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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
5411 / 4807 / 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
640 / 561 / 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++ Динамическое выделение памяти под массив
C++ Выделение памяти под динамический двумерный массив в структуре
Двумерный Массив,динамическое выделение памяти-ошибка C++

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

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

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