C 多級指標與多維陣列

2021-07-26 16:26:30 字數 846 閱讀 7022

多級指標可對應於多維陣列,這種指標變數中存的是另乙個指標變數的位址,其說明如下:

int val=10;

int *ptr=&val;

int **pptr=&ptr;

int ***ppptr=&pptr; //是多少級指標就有多少*號

這裡val值為10,*ptr值也為10,**pptr的值和***ppptr的值均為10。注意這裡的*號與定義中的*號意義不同,前者是指標說明符,後者是運算子,稱間接引用運算子。

【例5.13】多級指標。

#include

using namespace std;

int main();

int (*pt)[4]=x2d;

則指標pt和x2d是等效的。它們表示的首位址一樣,所指目標型別也一樣,pt可以代替x2d,就象pa代替a一樣。

指向一維陣列的指標的定義如下:

資料型別 (* 指標變數名)[n];

這裡陣列元素的個數n不可省略。因是指向指標的指標,稱二級指標。

【例5.14】用指向二維陣列基本元素的指標變數,和用指向組成二維陣列的一維陣列的指標變數輸出二維陣列全部基本元素。

#include< iostream>

using namespace std;

int main( ),,};

int  * ptr,i,j;

ptr=&a[0][0] ;       //或 ptr = *a; 而不能ptr = a;

for(i=0;i<18;i++){

cout<<*(ptr+i)<<'/t';

if(i%6==5) cout《用指向陣列元素的指標把陣列傳遞到函式裡,同時傳遞行列資訊,就可以實現通用性。

5 8 多級指標與多維陣列

多級指標可對應於多維陣列,這種指標變數中存的是另乙個指標變數的位址,其說明如下 int val 10 int ptr val int pptr ptr int ppptr pptr 是多少級指標就有多少 號 這裡val值為10,ptr值也為10,pptr的值和 ppptr的值均為10。注意這裡的 號...

c語言深度剖析 34 多維陣列和多級指標

1.指向指標的指標 int main 2.問題3.程式設計實驗 include include int reset char p,int size,int new size free p 釋放原來申請的空間 p pt 指標指向新的記憶體空間 else return ret int main free...

多維陣列與指標

今天在寫遍歷二維陣列的時候,突然思考這個問題,原因在於作內層迴圈時,對指標和陣列理解不到位。雖然一直都會也寫遍歷二維陣列,但是原先從沒有想過這個問題。逃 標頭檔案 ifndef treble h define treble h includetypedef int int array 3 void ...