Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
newbew
0 / 0 / 0
Регистрация: 14.02.2015
Сообщений: 31
1

Как правильней объявить динамический двухмерный массив

16.03.2015, 17:21. Просмотров 893. Ответов 2
Метки нет (Все метки)

Как правильней объявить динамический двухмерный массив и почему
C++ (Qt)
1
2
3
4
5
6
int (*p)[2] = new int[2][2]; 
//Или 
int **p = new int * [2];    
for (int i = 0; i < 2; i++) {   
        p[i] = new int [2];   
}
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.03.2015, 17:21
Ответы с готовыми решениями:

Как объявить двумерный динамический массив
int *matrix = new int ; че ругается ? а как сделать если без...

Как передать в функцию двухмерный динамический массив по ссылке?
как передать в функцию двухмерный динамический массив по ссылке?

Как возвратить созданый динамический двухмерный массив из функции в main?
Надо из функции mtx возвртить матрицу в главную функцию. Матрица создаеться и...

Как объявить динамический массив, чтобы он был виден во всех процедурах программы?
Доброго времени суток! Суть проблемы: в Visual Studio создана форма с кнопкой,...

Кто нибудь подскажет просто как объявить динамический массив M на M (с буквой M, я не ошибся)
:)

2
nonedark2008
1056 / 789 / 222
Регистрация: 28.07.2012
Сообщений: 2,202
16.03.2015, 18:38 2
Лучший ответ Сообщение было отмечено newbew как решение

Решение

Я лично всегда делаю так:
C++
1
2
3
4
int **p = new int *[n];
p[0] = new int[n * m];
for (int i = 1; i < n; ++i)
  p[i] = p[i - 1] + m;
Заворачиваешь конструкции выделения и освобождения памяти в функции и готово.

Добавлено через 1 минуту
Цитата Сообщение от newbew Посмотреть сообщение
int (*p)[2] = new int[2][2];
Такое не будет работать, если размерности у тебя не константные.
0
MrGluck
Модератор
Эксперт CЭксперт С++
8087 / 4940 / 1431
Регистрация: 29.11.2010
Сообщений: 13,398
16.03.2015, 18:47 3
C++
1
2
3
4
5
6
7
8
#include <iostream>
#include <vector>
 
int main()
{
    const int M = 4, N = 3;
    std::vector<std::vector<int> > arr(M, std::vector<int>(N));
}
Чтобы не мучиться с освобождением памяти.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.03.2015, 18:47

Двухмерный динамический массив
Мне нужно создать 4 многомерных динамических массивов, размерность которых...

Двухмерный динамический массив
Создать двухмерный динамический массив, найти сумму значокь его...

двухмерный динамический массив
задание было такое: Найти количество отрицательных и положительных элементов...


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

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

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