- char str[] = "1234567asdf";
- char *pstr = str;
- 上面是定义了一个字符串数组及一个指向这个字符串数组的指针,可以通过这个指针对数组中的内容进行操作;
- 例如:*(pstr + i) = 'a';
但是下面的情况不可以直接对数组进行操作:
- char *str = "1234567asdf";
- 这种情况下,指针指向的内容是一个字符串常量,常量是不允许被修改的,所以不可以通过这个指针对字符串进行修改的操作;
- 即 : *(str + i) = 'a'; 是非法的;