在C++中,爲什麼編譯器不允許修改以下字符指針如下訪問字符指針
#include <iostream>
int main()
{
char* cp = "overflow";
cp[1]='p';
return 0;
}
輸出:在運行時崩潰。
但字符數組允許,
#include <iostream>
int main()
{
char cps[] = "overflow";
cp[1]='p'; // this compiles fine and output is operflow
return 0;
}
只是想知道什麼是在運行時發生的事情,爲何導致崩潰。謝謝。
'char cps =「overflow」;'是錯的,你的意思是'char cps [] =「overflow」;'? – unwind 2013-04-10 11:35:28
@unwind對不起,它失蹤了。更正.. – 2013-04-10 11:39:03