char** const cpp1 = null;
cpp1 -> char* cp1;
cp1 -> char c1;
cpp1是乙個常量指標,所以cpp1需要在定義的時候初始化,它指向乙個char*型的指標cp1。
char* const* cpp2;
cpp2 -> char* const cp2;
const cp2 -> char c2;
cpp2指向乙個char*型常量指標cp2,cp1和cp2型別一樣,只差了乙個const修飾符,所以cpp2和cpp1指向的型別是一樣的,cpp2 = cpp1是合法的。
const
char** cpp3;
cpp3 -> const
char* cp3;
cp3 -> const
char c3;
cpp3指向乙個const char*型指標cp3。
char
const** cpp4;
cpp4 -> char
const* cp4;
cp4 -> char
const c4
cpp4指向乙個char const*型指標cp4,cp4和cp3指向的型別為char的常量,所以cpp4和cpp3實際上是同乙個型別。
語法錯誤 const* 沒有具體型別。
指標修飾C語言const修飾符探秘指標修飾
ps 今天上午,非常鬱悶,有很多簡單基礎的問題搞得我有些迷茫,哎,幾天不寫就忘。目前又不當coo,還是得用心記 哦!c言語是我接觸的第一門序程設計言語,時當還很傻很無邪,後來敏捷被各種高階言語 但是不得不說,c的位置真的無可撼動。const修飾符在c言語中很用常,但是近最讀 的時候常常搞不清楚,索搜...
const 型別修飾符
const是用來限定所指定的變數或者函式不可作修改。1 修飾變數 當const用來修飾變數的時候,const所指定部分不可修改。a.修飾常規變數 如 const int a 10 int const a 10 這兩種方式的效果一樣,都是將a描述為常量,a的值在被賦初值後不可以修改。但是這和由巨集定義...
const修飾符 小結
1.const 和extern 預設狀態下const物件僅在檔案內有效 當編譯器以初始化的方式定義乙個const物件時,編譯器將在編譯過程中吧用到該變數的地方都替換成對應的值,為了執行上述替換,編譯器必須知道變數的初始值,所以通常const的有效域就在本檔案 為了能在其他檔案中使用該const變數 ...