1 int* p;
2 const int* p;
3 int const* p;
4 int* p const;
5 const int* p const;
要判斷const修飾指針的特性,我們可以看const這個關鍵字在*號的左邊還是右邊。
const int* p;
const在*號的左邊,說明指針p指向的內容的值不能被修改,而指針的地址可以被修改,即可以從新指向到別的變量。
int* p const;
const在*號的右邊,說明指針p是一個常量指針,在使用的時候必須初始化,因爲一旦指向了某個變量之後,它就永遠指向這個變量了,不能修改指針指向的地址,而指針p所指向的內容可以修改。
const int* p const;
如果const出現在變量兩邊的話,那麼這個指針p本身的值不能被修改,指針p指向的變量的值也不能被修改。