0
可能重複:
Why does char* cause undefined behaviour while char[] doesn’t?該代碼在哪裏出現seg錯誤?
請各位看看下面
int main (int argc, char* argv[])
{
char* s = "Hello world!";
s[0] = 'X';
return 0;
}
的代碼你在哪裏的賽格故障來自於這個代碼?
更新: 相反,下面的代碼不給seg故障,爲什麼?
int main (int argc, char* argv[])
{
char s[] = "Hello world!";
s[0] = 'X';
return 0;
}
查看複製品。簡而言之,'char * s =「Hello World!」;'讓's'指向字符串文字(的第一個字符),並試圖修改字符串文字是未定義的行爲,通常是因爲它們存儲在只讀內存。 'char s [] =「Hello World!」;'創建一個可寫的'char [13]'。 –
我們可以爲這個特別的複製品分開標籤嗎? 'char * variable =「string」;變量[0] = 'CH';'? ;) – anishsane