Таким образом, в большинстве реализаций malloc хранит заголовок перед выделенной памятью, чтобы отслеживать размер выделенной памяти (чтобы он мог освободить и перераспределить). Каково содержимое заголовка?
Я написал наивный код, чтобы найти его, но он не имеет никакого смысла
int * ptr;
ptr = malloc(12*sizeof(int));
printf("Header = %d\n",*(ptr-1));
Он возвращает
Header = 57
Что здесь происходит?