История изменений
Исправление X512, (текущая версия) :
Структуры могут занимать совершенно разный объём памяти
Можно при выделении памяти указать размер нужной структуры.
struct Struct *NewStruct(enum StructKind kind)
{
size_t size;
struct Struct *res;
switch (kind) {
case charKind: size = sizeof(CharStruct); break;
case intKind: size = sizeof(IntStruct); break;
default: return NULL;
}
res = malloc(sizeof(enum StructKind) + size);
res->kind = kind;
return res;
}
Исходная версия X512, :
Структуры могут занимать совершенно разный объём памяти
Можно при выделении памяти указать размер нужной структуры.