二級指標所指變數加1驗證記錄

2021-07-02 19:44:14 字數 413 閱讀 4503

今天看書看二級指標時定義的格式有些疑惑,比如:

int x, *p1, **p2;

p1=&x;

p2=&p1;

當時有些疑惑既然p2是指標,為什麼不直接定義為int *p2呢,經過思考和驗證之後發現是自己概念混淆了,指向int 型變數的指標才會定義為 int *p,而p2指向的不是int 型的基本變數,而是乙個指向int 變數的指標變數,就應該定義為int  **p2,說明p2這個指標變數指向的是乙個指標變數.下面是做乙個驗證,既然p2指向的是乙個指向int 型變數的指標,那麼在我的編譯器的環境下,如果(*p2)+1的值就應該是比(*p2)的結果大4.

#includeint main( int argc, char *argv)

經過驗證結果確實如此。

二級指標變數與陣列

在c語言中,陣列名就是乙個指標常量,儲存陣列的首位址。因為陣列名是乙個常量指標常量,不能修改其指向的值,因此可以定義乙個指標變數指向陣列。這樣使用陣列名加下標可訪問陣列中的元素,使用指標名加下標也可訪問陣列中的元素。這些在本章前面已經介紹過了。現在如果再定義乙個二級指標變數,讓其指向一級指標,就可使...

指標與二級指標

int num 10 int p1 int p2 p1 指標的指向結構如下圖所示 0x4000 0x3000 p2 0x2000 p1 num p2 表示的是儲存p2指標的位址 p2 表示的是p2指向的位址,即指標p1存放的位址 p2 表示指標p2指向位址中所存的值,即指標p1指向的位址,即變數nu...

一級指標二級指標

例如 int p null int代表指標p指向的資料型別是int型,代表這是乙個指標變數,1 指標變數儲存的內容是指向的變數的位址 2 在使用sizeof判斷指標的位元組數時,在32位機器上為4個位元組,在64位機器上為了相容,仍然是四個位元組大小 3 小知識點,不同型別的指標除了指向的變數資料型...