小编ste*_*eve的帖子

C问题免费()

#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)

问题:

  1. 从位置p + 1开始的内存是否空闲(如果malloc返回0x1000,释放的内存将来自0x1004,假设一个4字节整数)?

  2. 除了0x1000的4个字节(如果malloc返回0x1000)不可用(除非你做p--并使用地址)之外,这个代码是否有任何意义?

c malloc free

2
推荐指数
1
解决办法
186
查看次数

标签 统计

c ×1

free ×1

malloc ×1