int const *p;
指向int型只讀變量的指針
const int *p;
指向int型只讀變量的指針,與第一個相同
int * const p;
指向int型變量的只讀指針
const int * const p;
指向int型只讀變量的只讀指針
const * int p;
const int const *p;
很明顯,這是錯的
由上可以這樣總結,const表示是隻讀變量,還是隻讀指針變量,關鍵看const是在*和變量名之間呢,還是在它們外面,如果const做了第三者,那麼指的是一個只讀的指針變量,否則,就是一個只讀的普通變量。
const修飾的變量在定義的時候需要初始化,不進行初始化是會編譯出錯的。
除了const修飾符以外,還有volatile, static,類似的情況
請批評指正