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

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

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

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

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

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

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

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2297 / 1667 / 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 - количество столбцов.
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 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);
silent_1991
Эксперт C++
4949 / 3025 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
29.08.2010, 23:02     Динамическое выделение памяти #4
Очистка

C
1
2
3
for (i = 0; i < n; i++)
    free(matr[i]);
free(matr);
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
29.08.2010, 23:03     Динамическое выделение памяти #5
silent_1991, Собсна так и думал. Только какие-то непонятки возникли, когда дебагом пробегался. Не увидел очистки
silent_1991
Эксперт C++
4949 / 3025 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 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);
Yandex
Объявления
29.08.2010, 23:04     Динамическое выделение памяти
Ответ Создать тему
Опции темы

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