Итак, я пытаюсь написать функцию, которая возвращает указатель на ADT в куче.
Проблема в том, что я не могу манипулировать им после выделения памяти. Вот упрощенный код
typedef struct _entity {
int value;
} *Entity;
Entity *new_entity() {
Entity *ptr = (Entity*)malloc(sizeof(struct _entity));
assert( ptr );
(*ptr)->value = 5; // program crashes after this line
return ptr;
}
Ошибка:
Необработанное исключение по адресу 0x013e1665 в test.exe: 0xC0000005: место записи нарушения прав доступа 0xcdcdce21.