Я пытаюсь инициализировать некоторые значения в нескольких созданных мной структурах.(цель программы - симуляция виртуальной памяти) По какой-то причине, когда я пытаюсь инициализировать pgTable [i] .validFlag = 1, я получаю эту ошибку,
malloc (): поврежденный размер топа,
, но не в том случае, если я инициализирую его значением 0. Я подумал, что это может что-то сделать, если я выйду из конца моего массива, но я не понимаю, как это возможно.
Может кто-нибудь сказать мне, что яя делаю не так?
int* memmory = malloc( sizeof( int ) * sizeVM * pageSize );
struct TLBentry* tlb = malloc( sizeof(struct TLBentry) * sizeTLB );
struct pageTableEntry* pgTable = malloc( sizeof(struct pageTableEntry) * sizeVM );
for( int i = 0; i < sizeTLB; i++){
tlb[i].virtualAddress = i;
tlb[i].physicalAddress = i;
}
for( int i = 0; i < sizePM; i++){
pgTable[i].dirty = 0;
pgTable[i].validFlag = 1;
pgTable[i].physicalAddress = i;
}
memSys->virtMem = memmory;
memSys->tlb = tlb;
memSys->pgTable = pgTable;