在前面已經介紹過,通過指標訪問變數稱為間接訪問, 簡稱間訪。由於指標變數直接指向變數,所以稱為單級間訪。 而如果通過指向指標的指標變數來訪問變數則構成了二級或多級間訪。在c語言程式中,對間訪的級數並未明確限制, 但是間訪級數太多時不容易理解解,也容易出錯,因此,一般很少超過二級間訪。
指向指標的指標變數
說明的一般形式為:
型別說明符** 指標變數名;
例如: int ** pp; 表示pp是乙個指標變數,它指向另乙個指標變數, 而這個指標變數指向乙個整型量。下面舉乙個例子來說明這種關係。
main()
上例程式中p 是乙個指標變數,指向整型量x;pp也是乙個指標變數, 它指向指標變數p。通過pp變數訪問x的寫法是**pp。程式最後輸出x的值為10。通過上例,讀者可以學習指向指標的指標變數的說明和使用方法。
下述程式中首先定義說明了指標陣列ps並作了初始化賦值。 又說明了pps是乙個指向指標的指標變數。在5次迴圈中, pps 分別取得了ps[0],ps[1],ps[2],ps[3],ps[4]的位址值(如圖6.10所示)。再通過這些位址即可找到該字串。
main();
char **pps;
int i;
for(i=0;i<5;i++)
}本程式是用指向指標的指標變數程式設計,輸出多個字串。
指向變數的常指標和指向常變數的指標
剛接觸到指標時,關於指向變數的常指標和指向常變數的指標容易混淆,所以整理下,希望能夠幫助自己也幫助到大家。常指標就是我們說的指向常量的指標,顧名思義,它是用來指向常量的。實際上,c 規定只能用指向常變數的指標指向常變數,普通指標指向它就會報錯,原因也很容易理解,我們用普通指標指向常變數之後,有可能就...
指向變數的常指標與指向常變數的指標變數的區別
一 指向變數的常指標 形式 型別名 const 指標變數名 將指標變數宣告為const型,這樣指標變數始終保持為初值,不能改變,即其指向不能改變 例 include include int main 常指標pcpt已經指向了cbuff1,就不能再指向cbuff2了。注意 雖然常指標只能始終指向同乙個...
指向指標的指標的應用3
include include include 當然有必須使用二級指標才能解決的情況,如,某個函式的功能是 返回某個問題的計算結果,但是結果資料是不確定個數的值,所以 在呼叫此函式時不知道事先應分配多少空間來儲存返回的資料,此時 的處理辦法就是傳遞乙個沒有分配空間的指標的指標 位址 進去,讓函式自己...