这个问题在这里已有答案:

image of malloc code, realloc code, and whats in between

我用malloc来保存int (arraysize(10) sizeof(int)) . 如果我在malloc之后打印int *的大小,则表示它的大小为8,这比应该的大很多 . realloc之前的if语句只是检查数组的大小是否大于或等于容量,然后重新分配其原始数量的两倍 . 到目前为止,我尝试过的所有东西都给了我8的内存大小,足以容纳2个整数 . 我需要它适合100个整数 .