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

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

Восстановить пароль Регистрация
 
bod1ka
0 / 0 / 0
Регистрация: 08.11.2009
Сообщений: 29
27.12.2010, 18:32     Динамическое выделение памяти #1
Имеется:
C++
1
2
3
4
5
6
7
8
#define Index 1000
typedef int BaseType;
typedef   BaseType TMemList[Index];
typedef   unsigned ptrel;
typedef   struct List {TMemList* PMemList;
                          ptrel ptr;
                          unsigned int N; 
                          unsigned int SizeMem;} List;
Как можно выделить память под массив размером [SizeMem] в подпрограмме
void InitList(List *L,unsigned SizeMem) ?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lemegeton
 Аватар для lemegeton
2909 / 1338 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
27.12.2010, 18:44     Динамическое выделение памяти #2
С помощью оператора new и квадратных скобочек.
Например
C++
1
2
3
4
5
int *L;
L = new int[SizeMem];
char *c;
c = new int[SizeMem];
MyYetAnotherClassType C = new MyYetAnotherClassType[SizeMem];
bod1ka
0 / 0 / 0
Регистрация: 08.11.2009
Сообщений: 29
27.12.2010, 18:47  [ТС]     Динамическое выделение памяти #3
Пишу
L->PMemList=new int[SizeMem] поидее так должно быть , но нет (
lemegeton
 Аватар для lemegeton
2909 / 1338 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
27.12.2010, 18:53     Динамическое выделение памяти #4
Пишу, PMemList имеет тип TMemList*, но нет, вы под него выделяете int*.
bod1ka
0 / 0 / 0
Регистрация: 08.11.2009
Сообщений: 29
27.12.2010, 21:23  [ТС]     Динамическое выделение памяти #5
Я понял что PMemList это указатель на массив из 1000 элементов int , вопрос как правильно память под него выделить?

C++
1
L->PMemList=new TMemList[SizeMem]
так?
lemegeton
 Аватар для lemegeton
2909 / 1338 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
28.12.2010, 00:01     Динамическое выделение памяти #6
Я понял, что поле структуры List именованное PMemList является указателем на TMemList непонятно какого типа. Количество элементов определяется на этапе выделения памяти.
C++
1
L->PMemList=new TMemList[L->SizeMem]
так?

Не по теме:

В хрустальном шаре батарейки садятся. Может, пора на картах Таро код раскладывать?

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.12.2010, 10:31     Динамическое выделение памяти
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
accept
4837 / 3236 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
28.12.2010, 10:31     Динамическое выделение памяти #7
C++
1
TMemList* PMemList
C++
1
int (*)[1000]
указатель на массив из 1000 элементов типа int

C++
1
L->PMemList=new TMemList[SizeMem]
выделяется память под SizeMem тысячных массивов
Yandex
Объявления
28.12.2010, 10:31     Динамическое выделение памяти
Ответ Создать тему
Опции темы

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