реклама на сайте
подробности

 
 
> Применение malloc и realloc, что нужно инициализировать для их применения
kt368
сообщение Nov 8 2013, 22:46
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 454
Регистрация: 13-10-10
Из: Киев
Пользователь №: 60 135



Здравствуйте!
Хочу использовать динамический массив, содержащий структуры. Этот массив находится внутри другой структуры (это, наверно, не важно). Количество элементов массива заранее неизвестно. Как я вычитал, для этого нужно использовать функцию realloc при добавлении нового элемента в массив. Но когда я добавляю в код вот эти строки - описание структуры данных и выделение памяти
Код
typedef struct {float k; float b; float Zmin;} Zarray_t;
typedef struct {float k; float b; float PHmin;} PHarray_t;
typedef struct {
    uint32_t     gZmin;
    uint32_t     gZmax;
    uint32_t     gPHmin;
    uint32_t     gPHmax;
    Zarray_t     Zarray[nF_cal-1];
    PHarray_t    PHarray[nF_cal-1];
} CalDataForF_t;
typedef struct {
    CalDataForF_t     *CalDataForF;
    uint32_t          freq[nF_cal];
} CalData;
в хедер и
Код
CalData_str.CalDataForF=malloc(sizeof(CalDataForF_t));
в тело main() и пытаюсь пошагово походить по программе, зашитой в МК, то я даже в main не захожу, время идёт (смотрю в Keil'e), а до брейкпоинта, находящегося на main() я не дохожу.
Читал здесь, что malloc и realloc используют кучу, и что её нужно предварительно инициализировать. Подскажите, пожалуйста, как её правильно инициализировать. Или подскажите в чём проблема, если она не в куче.

Заранее спасибо.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th July 2025 - 18:40
Рейтинг@Mail.ru


Страница сгенерированна за 0.01354 секунд с 7
ELECTRONIX ©2004-2016