c-free,具有动态分配的内存



我有这个C代码:

int main()
{
    int *p=(int *)malloc(100);   //100 bytes
    for(int i=0;i<10;i++)
    {
        p++;
    }
    free(p);
    return 0;
}

现在我的问题是释放(p)所有100个字节还是只释放90个字节。free()如何知道要释放多少字节。。?

这是非法的。

free的参数必须是由malloc或其表亲返回的指针,或者是空指针。在您的示例中,p已将其值更改为p++

相关内容

  • 没有找到相关文章

最新更新