指向指標的指標

2022-09-20 02:15:11 字數 957 閱讀 2124

1 # define a 10

2int main(void)3

;5int b = 2;6

int *p = &a[0];7

int *q = &b;

8int **r = &p;

9char *x = ;

1011 printf("

%s ", *x);

1213

14 printf("

%d "

, a);

15 printf("

%d ", *p);

16 printf("

%d ", *q);

17 printf("

%d ", **r);

18 printf("

%d ", *r);

19 printf("

%d "

, p);

20 printf("

%d "

, r);

2122

return0;

23 }

當用一維陣列通過指標的形式定義乙個陣列時,如果我們不通過*x[++i]的形式來使指標移動,那麼只能使用指向指標的指標來將指標移動,使其能夠指向下乙個位址,所以在這裡我們可以通過定義如下指標:char **a = x,此時*a就是乙個定義為指向指標x的指標,其指向的是x首位址,那麼要輸出of只需要*++a,列印即可。

我們有定義int *y,因此實用*y,而這裡定義了**y,但是依然使用的是y,這個應該是告訴編譯器,接下來要使用乙個指向指標的指標結構,雖然使用的是*y,但是它已經指向另乙個指標了,編譯器也有相關顯示:

這裡再補充乙個知識點,如果定義了i,j作為陣列引數使用我們針對二維陣列還可以用*(*(y+i)+j)形式呼叫,知識點在二維陣列介紹的地方,由於y位置是二維陣列開始位置,+i、+j對應指向行列,可用來列印相應字元。

指向指標的指標

理解二級指標,關鍵是理解指標的儲存方式和意義。這裡以指向int型指標的指標為例,梳理一下二級指標在記憶體分配中 的奧妙.include using namespace std int main int p a int point p cout a a endl p p endl p p endl p...

指向指標的指標

這幾天我下意識地琢磨到底 錯了,今天猛然明白了他的想法,其實這個技術點我早已掌握,只是當時對問題未深入思考,把握得較模糊,一時沒洞察他的思路,疏忽了。問題大概是這樣的 寫乙個函式,將乙個二維陣列作乙個變換。void rotate array 開闢備份空間 根據變換要求將元素一一賦值 因為這個方法並不...

指向指標的指標

一 回顧指標概念 讓我們先回顧一下指標的概念吧!當我們程式如下申明變數 short int i char a short int pi 程式會在記憶體某位址空間上為各變數開闢空間,如下圖所示。圖中所示中可看出 i 變數在記憶體位址5的位置,佔兩個位元組。a變數在記憶體位址7的位置,佔乙個位元組。接下...