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

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

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

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

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

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

Выделение памяти под двумерный массив С++ - C++
Гуру С++, подскажите новичку, как обратиться к элементу при следующем выделении памяти? 1)double **matr = new double * 2)double *matr...

Выделение памяти под двумерный массив - C++
Нужна прога на с++,в которой бы выделялась память для двумерного массива N строк такого вида,как на рисунке>>> За ранее спасибо:)

Динамическое выделение памяти под двумерный массив - C++
Здравствуйте. Как мне правильно и грамотно (!) выделять память под двумерные массивы? Откуда возникла необходимость — хотел сделать...

Динамическое выделение памяти под двумерный массив - C++
Нужно написать программу, динамически выделяем память под двумерный массив, функции ввода-вывода, функцию, которая будет складывать 2...

Динамическое выделение памяти под двумерный массив - C++
1) Ввести построчно элементы двумерного массива чисел. Количество столбцов задается. Количество строк (не менее 1) равно максимальному по...

Выделение памяти под динамический двумерный массив в структуре - C++
Доброво времени суток, дорогие товарищи-кодеры! Работав проектом, столкнулся с тем что удобно было бы запилить двумерный динамик в...

6
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]
0
alsav22
5425 / 4820 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
18.10.2013, 08:49 #3
calculon, компилировали?
1
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];
0
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) при выделении памяти ? Есть ли альтернативные от этого способы ?
0
aLarman
642 / 563 / 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;
0
calculon
14 / 14 / 3
Регистрация: 18.07.2012
Сообщений: 79
18.10.2013, 10:45 #7
Linzman, вы уже тогда задание полностью приведите, а то как то сумбурно все это выглядит...
0
18.10.2013, 10:45
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.10.2013, 10:45
Привет! Вот еще темы с ответами:

Правильно ли в приведенном примере реализовано выделение и очищение памяти под двумерный вектор - C++
Скажите правильно ли я выделяю и очищаю память под двухмерный вектор class A { private: std::vector&lt; std::vector&lt;int&gt; &gt;* ...

Двумерный Массив,динамическое выделение памяти-ошибка - C++
Здравствуйте! Не могу найти ошибку в программе, некорректно работает именно с динамическим выделением памяти, со статическим все правильно...

Выделение памяти под массив - C++
в массиве данных хранять в последовательных ячейках памяти В программе, выделенна память под массив, для ввода данных пользователем. ...

Выделение памяти под массив - C++
Требуется выделить память под матрицу. Будет ли следующий код работать корректно? //глобальная область int x_size = 3; ...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

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