堆赋值的问题

来源:百度知道 编辑:UC知道 时间:2024/05/16 12:35:11
char *p=new char[5];
p="chan";
delete[] p;
为什么运行时会报错,是不是p不能这样赋值?

char *p=new char[5]; // p指向开辟的堆
p="chan"; // p被赋值,指向一个栈,该栈存储了字符串"chan"
delete[] p; // 删除指向栈的p,出错~~

拷贝字符串使用strcpy

对 strcpy(p,"chan");

我vc上没有报错啊 你头文件什么的没错把

你可以这样初值,char *p="chan".