是不是常常為以下幾種變數定義型別而困惑呢?
上面的變數定義涉及三種型別的c++關鍵字:型別限定符const、變數型別char、指標修飾*,這裡語法遵循的乙個基本原則是:指標修飾符*後面緊跟的任意型別的修飾符都是修飾所指向記憶體單元的元素。
1.對const char **pointer分析
上圖什麼含義呢?首先pointer變數名左邊緊鄰的乙個*修飾pointer是乙個指標,即pointer變數本身占用4位元組記憶體(如果是64為就是占用8位元組了)並且其儲存的值指向另一段記憶體,這段記憶體有若干相同型別的元素,後面緊跟著的型別修飾是作用到這段記憶體的每個元素的, 後面緊跟著的同樣是指標修飾符*,就是說之前開闢的這段記憶體的每個元素都是指標型別,都指向另一段位址各不相同的記憶體段,後面緊跟著的修飾符是作用到最新的每段記憶體的每個元素上的,緊跟著的是const char,也就是說最新開闢的各段記憶體的每個元素都是const char型別。總體上描述就是:pointer指向的記憶體段中每個元素都const char*型別。
2.對char **const pointer分析
具體分析其實和上例是一樣的,char **const pointer定義pointer是乙個常指標,指向的記憶體段中每個元素都是char*型別。
其實各種型別定義都可以沿用上面的分析方法,靈活應用就可以了。另外如何使用new來開闢不同定義型別的記憶體以及分析方法下次再總結吧!
C 指標常量 常量指標和常指標常量
1 指標常量 如果在定義指標變數時候,指標變數前用const修飾,被定義的指標變數就變成了乙個指標型別的常變數,指標型別的常變數簡稱為指標常量。格式如下 資料型別 const 指標變數 變數名 修飾符const與指標變數緊鄰,說明指標變數不允許修改,既然指標變數的值不能修改,所以一定要在定義的時候給...
指標常量,常指標,指向常量的常指標
1.指標常量 從字面意思可以看出,指標是乙個常量,也就是位址不能被修改。int const p 特點是指標指向的數值可以改變,然而指標所儲存的位址卻不可以改變。include using namespace std void main int a 10 int const p a cout 我們可以...
指標常量,常指標,指向常量的常指標
1.指標常量 從字面意思可以看出,指標是乙個常量,也就是位址不能被修改。int const p 特點是指標指向的數值可以改變,然而指標所儲存的位址卻不可以改變。include using namespace std void main int a 10 int const p a cout 我們可以...