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

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

Войти
Регистрация
Восстановить пароль
 
Юлек
4 / 3 / 0
Регистрация: 26.10.2009
Сообщений: 43
#1

Динамическое выделение памяти - C++

29.08.2010, 22:10. Просмотров 835. Ответов 5
Метки нет (Все метки)

Уважаемые программисты!!!! Подскажите как выделить память для двумерного массива. Заранее спасибо!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.08.2010, 22:10
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Динамическое выделение памяти (C++):

Распределение памяти. Динамическое выделение памяти - C++
an-1 an-2 ... a2

Динамическое выделение памяти - C++
Подскажите как выделить динамически память мод двумерный массив... Спасибо. ... int *mass = new int ; //int *mass = new int ; ) Не...

Динамическое выделение памяти - C++
Имеется: #define Index 1000 typedef int BaseType; typedef BaseType TMemList; typedef unsigned ptrel; typedef struct List...

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

Динамическое выделение памяти - C++
Всем здрасти.Если выделять динамически память,например: char *p=new char; и при этом не перегружать оператор new.То верны ли следующие...

Динамическое выделение памяти - C++
Подскажите пожалуйста почему этот код работает: #include <iostream> using namespace std; int main() { int *x = new...

5
CyBOSSeR
Эксперт С++
2305 / 1675 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
29.08.2010, 22:14 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
// Выделение
int** matrix = new int*[n];
for (int i = 0; i < n; ++i)
  matrix[i] = new int[m];
 
// ...
 
// Удаление
for (int i = 0; i < n; ++i)
  delete [] matrix[i];
 
delete [] matrix;
n - количество строк.
m - количество столбцов.
0
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
29.08.2010, 22:53 #3
Или на Си. С очисткой не уверен как

C
1
2
3
4
int i;
int**matr=(int**)malloc(sizeof(int)*n);
for(i=0;i<n;++i)
    matr[i]=(int*)malloc(sizeof(int)*m);
0
silent_1991
Эксперт С++
4989 / 3046 / 149
Регистрация: 11.11.2009
Сообщений: 7,028
Завершенные тесты: 1
29.08.2010, 23:02 #4
Очистка

C
1
2
3
for (i = 0; i < n; i++)
    free(matr[i]);
free(matr);
1
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
29.08.2010, 23:03 #5
silent_1991, Собсна так и думал. Только какие-то непонятки возникли, когда дебагом пробегался. Не увидел очистки
0
silent_1991
Эксперт С++
4989 / 3046 / 149
Регистрация: 11.11.2009
Сообщений: 7,028
Завершенные тесты: 1
29.08.2010, 23:04 #6
Ну и выделять память корректнее так

C
1
2
3
4
int i;
int **matr=(int **)malloc(sizeof(int *) * n);
for (i = 0; i < n; i++)
    matr[i] = (int *)malloc(sizeof(int) * m);
1
29.08.2010, 23:04
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.08.2010, 23:04
Привет! Вот еще темы с ответами:

Динамическое выделение памяти - C++
Первый раз столкнулся с такой задачей... Дали лабораторную работу: Разработать приложения, реализующее следующие функции: 1) Выделяет...

Динамическое выделение памяти - C++
Вот у меня есть 2 примера: char* str = &quot;Немыслимый текст&quot;; char* s = new char ; Тут указатель s будет указывать на блок в...

Динамическое выделение памяти - C++
Есть следующее объявление #include&lt;iostream&gt; #define MAX 1000 //======================= int arr; int arr2; int arr3; ...

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


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

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

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