永发信息网

如何释放字符数组的内存

答案:1  悬赏:80  手机版
解决时间 2021-01-10 04:49
  • 提问者网友:愿为果
  • 2021-01-09 18:32
如何释放字符数组的内存
最佳答案
  • 五星知识达人网友:春色三分
  • 2021-01-09 18:48
#include
#include
int main()
{
int *p;

p=(int *)malloc(sizeof(int)*3);
p[0]=1;p[1]=2;p[2]=3;
p++;
//free(p);/////////由于p++过,已经不是malloc申请的那个地址了,因此这句运行会报错
p[0]=4;
free(p-1);//这句倒是正确的,因为经过p++,这里的p-1刚好是malloc申请的地址
return 0;
}

另外,问你一个同样的问题:
char *p1 = new char[10];
char *p2 = new char[20];
delete p1[];
delete p2[];
释放p1和p2的时候,没有指明大小,它怎么知道p1是10,p2是20的呢?
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯