有人可以解释 realloc 中的第二个参数到底是什么,因为我找不到测试它的方法。
所以假设我们有这样的东西
int *p = malloc(sizeof(int)); //we have just enough space to store single int value
现在,如果我想在 p 中存储 2 个 int 值,是否需要将其作为第二个参数发送到 realloc 2 * sizeof(int)
块的新大小,或者sizeof(int)
因为它需要扩展内存以获得 int 的大小
如果在这种情况下我应该将新块的总值发送到 realloc 2 * sizeof(int)
,如果我只发送它会做什么sizeof(int)
,只返回原始指针并且在内存中什么都不做或其他什么?