#include <stdio.h>
int main ()
{
int *p = (int *)malloc((100*sizeof(int)));
p++;
free(p);
/* do something */
return 0;
}
Run Code Online (Sandbox Code Playgroud)
问题:
从位置p + 1开始的内存是否空闲(如果malloc返回0x1000,释放的内存将来自0x1004,假设一个4字节整数)?
除了0x1000的4个字节(如果malloc返回0x1000)不可用(除非你做p--并使用地址)之外,这个代码是否有任何意义?