Информация о форуме
Администратор: root
Модератор(ы): Mikes, Lurid, Kiddy
Всего тем: 20

Вы можете читать форум
Вы не можете отправлять сообщения
Вы не можете открывать новые темы

Форум: Soft & Warez
все о программах, новых и старых
венн : Borland C++ Builder
венн
30.04.07 03:55
как в билдере работать с динамическими массивами?
как это выглядит в разделе описаний переменных и как потом
задается новый размер?
Полосатег
30.04.07 13:41
венн: (30.04.07 03:55)
как в билдере работать с динамическими массивами?
как это выглядит в разделе описаний переменных и как потом
задается новый размер?
Функции (malloc), а потом (realloc) епть!

Функцию NEW нисаветую использовать, потом не перевыделишь
память. Тоесть риально можно перевыделить функцией realloc,
но рискуешь нарватся на проблемы так как они выделяют в
разных по сути регионах памяти и юзают разные функции
выделения памяти.
Это если не очень большие массивы (malloc и realloc)так как
он работают над кучей (в себе юзают HeapAlloc из ряда API).
А если большие то придецца оперировать с функциями
постраничного выделения типа VirtualAlloc, тогда придется
писать свой класс для работы с динамикой.

Удачи!

PS
Обычно всигда хватает malloc или realloc.
Полосатег
30.04.07 13:53
И вабще курить MSDN еще не научился? :)))))

/*
void *malloc(
size_t size // размер
);
*/

Выделить:

unsigned char nlen = 10;
char* pTest = (char *) malloc (nlen);

/*
void *realloc(
void* memblock, // указатель память
size_t size // размер
);
*/

Перевыделить:

pTest = (char *) realloc (pTest, nlen * 100);