请问该段程序的错误在哪里?
2014-05-26 来自:Ruijie 2 人回应

#include
#include
using namespace std;

void Get(char* p){
p=new char[100];
}

int main(){
char* s=NULL;
Get(s);
strcpy(s,"mei");
cout<<s<<endl;
return 0;
}

2014-06-03 来自:麦克或者其他

缺少delete来释放new分配的内存

2014-06-02 来自:筱村

和楼上说的一样没有用delete删除分配内存,会造成内存泄露。还有最好用C++风格写,你这样的程序是由安全隐患的(作为联系当然没什么大影响),如果读入的数据长度大于你分配的内存长度(100)会造成意外的错误。

您的回应

你还未登陆,不能回应!登陆