В настоящее время я изучаю C и пытаюсь расширить объем памяти, доступный для массива структур.Когда я пытаюсь увеличить массив, я получаю следующую ошибку во время выполнения
malloc.c:2852: mremap_chunk: Assertion `((size + offset) & (GLRO (dl_pagesize) - 1)) == 0' failed. Aborted.
Вот код, который вызывает проблему.
Я попытался прочитать справочную страницу по realloc и интерактивные учебные пособия, но не смог найти ничего, касающегося этого конкретного случая.
typedef struct _hash{
int times;
char word[250];
struct _hash *n;
}Hash;
int main(){
Hash* temp;
int currentMax=10;
Hash* ptr[currentMax];
for(int i=0; i<10;i++){
ptr[i]=malloc(sizeof(ptr));
strcpy(ptr[i]->word, "hello world");
ptr[i]->times=1;
ptr[i]->n=NULL;
}
temp=realloc(ptr, 3*sizeof(Hash));
}
Я ожидаю, что массив увеличится на размериз трех, чтобы я мог добавить дополнительные элементы позже, но я продолжаю получать ту же ошибку.