C語言中指向字串常量的指標與指向字串陣列的指標
- char str[] = "1234567asdf";
- char*pstr = str;
- 上面是定義了一個字串陣列及一個指向這個字串陣列的指標,可以通過這個指標對陣列中的內容進行操作;
- 例如:*(pstr + i) = 'a';
但是下面的情況不可以直接對陣列進行操作:
- char *str = "1234567asdf";
- 這種情況下,指標指向的內容是一個字串常量,常量是不允許被修改的,所以不可以通過這個指標對字串進行修改的操作;
- 即 : *(str + i) = 'a'; 是非法的;