首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

关于new跟delet 的

2013-03-17 
关于new和delet 的#includeiostreamusing namespace stdint main(){char **pnew char*[2]p[1]new ch

关于new和delet 的
#include<iostream>
using namespace std;
int main(){
char **p=new char*[2];
p[1]=new char[4];
p[2]=new char[4];
p[1][0]='1';
p[1][1]='\0';
p[2][0]='2';
p[2][1]='\0';
return 0;
}
因为动态分配了三个存储空间p,p[1],p[2],所以在释放时我依次delete了p[1],p[2],[]p,但程序运行错误了。
然后我又试了其它几种方法,好像只要delete了[]p就会出错。
不知应该如何正确操作?
谢谢!
[解决办法]
char **p=new char*[2];
p[1]=new char[4];
p[2]=new char[4];//越界
p[2][0]='2';//如上
p[2][1]='\0';//如上

[解决办法]
p[0] 和  p[1]

热点排行