const char*
關於const char*的例子
#include<stdio.h> int main() { const char *p = "123"; p[1] = '3'; //會報錯 p = "456"; //不會報錯 printf("%s\n",p); return 0; }
"123"是常量,放在代碼區,不可修改,所以需要加上const char *,這樣編譯的時候,如果直接p[1] = 1,編譯器就知道你給const變量賦值,那就報錯了。 char *p = "123"; p[1] = '3'; 編譯還是能過去的,不報錯,但是程序執行的時候,會發生不可預知的錯誤,因為你對代碼區的常量進行了修改。
char *const p 修飾指針為常量 指針指向內容可以是變量~既 p++這樣的操作不合法 *p='3' 合法
const char * p 是p指向的內容是常量~p是變量~
~既 p++合法 *p='3' 不合法
最後更新:2017-04-03 05:39:31