字符串常量在編譯時系統給定存儲位置,可以賦值給字符指針;此時可以通過下標進行訪問,但不可以通過下標修改字符串的值。
字符指針指向字符數組時可以修改字符串的值。
#include <stdio.h> #include <string.h> int main() { char a[26]; char *b = "abc"; //定義時初始化 b="123"; //可以被重新賦值 //b[1] = 'v'; //不可以被修改 a[1] = b[1]; //可以通過下標讀取 strcpy(a, "catdog"); strcat(a, "!"); b = a; //指向字符數組 b[0] = 'x'; //可以被修改 b[1] = "x"; //實際上將字符常量"x"的地址付給b[1],字符串將出現亂碼 printf("%s\n", a); system("pause"); return 0; }