65,211
社区成员
发帖
与我相关
我的任务
分享
char *a=new a[2];//char *a=new char[2];
a[0]='a';a[1]='b';
char *b=new b[3]; // char *b=new char[3];
b[0]='a';b[1]='b';b[2]='c';
delete []a; //(1) right;
//a=NULL; //a分配的空间被释放了
a=b; //a指向b,所以下面一句释放的是b的空间
delete []a; //(2) right ,在这里b分配的空间也被释放了,然而这里delete的是a数组??
//a=NULL; //还有啊?就是一个new分配的指针不能被delete两次?
a=b; // 指针a在这里的性质是指向堆地址空间,a和b都释放了,都不能再被释放
delete []a; //(3) error 释放a或者释放b都是错的
char *a=new a[2]; //这也对?