#include
using namespace std;
int main()
{
char c[6] = "hello";
c = "s"; //為什麼c是不可被修改的左值
c[2] = 's'; //而c中的元素都可以被修改?
return 0;
}
數組名是常量型指針,即 const ,當然不能修改;這個與 const 型常量是一樣的,定義了就不能修改。
c 中的元素,是編譯器在堆棧上分配的一塊內存,當然可以修改。如果你定義 char *p = "hello",則 這 指向一常量區的字符串。你可以試試去修改,如 p[2] 的值看看。結果當然是不能修改。