指標陣列和陣列指標的區別

2021-09-26 01:12:02 字數 683 閱讀 6654

指標陣列:int *a[4]

顧名思義這是乙個陣列,陣列的元素全部都為指標

如:

int *a[4]=;

陣列中的每個元素都是乙個指標,每個指標都存放著乙個字串的首位址;
即 a[1]==「you」

這就相當與定義char *p1 = 「thank」,char *p2 = 「you」,char *p3 = 「very」, 

char *p4 = 「much」,這是四個指標,每個指標存放乙個字串首位址,

然後用arr[4]這個陣列分別存放這四個指標,就形成了指標陣列。

陣列指標:int  (*a)[4];

陣列指標是乙個指向陣列的指標;

相當於乙個二級指標的行陣列;

int b[2][5]=;

int (*a)[5]=b; //陣列指標的長度應與二級指標長度相同,否則編譯器會報錯

此時a的增量為5;

即 * ( *(a+1))==6 相當於b[1][0];

同理 * ( ( * a)+1) ==2 相當於b[0][1];

指標陣列和陣列指標的區別

這兩個名字不同當然所代表的意思也就不同。我剛開始看到這就嚇到了,主要是中文太博大精深了,整這樣的簡稱太專業了,把人都繞暈了。從英文解釋或中文全稱看就比較容易理解。指標陣列 array of pointers,即用於儲存指標的陣列,也就是陣列元素都是指標 陣列指標 a pointer to an ar...

指標陣列和陣列指標的區別

這兩個名字不同當然所代表的意思也就不同。我剛開始看到這就嚇到了,主要是中文太博大精深了,整這樣的簡稱太專業了,把人都繞暈了。從英文解釋或中文全稱看就比較容易理解。指標陣列 array of pointers,即用於儲存指標的陣列,也就是陣列元素都是指標 陣列指標 a pointer to an ar...

指標陣列和陣列指標的區別

這兩個名字不同當然所代表的意思也就不同。我剛開始看到這就嚇到了,主要是中文太博大精深了,整這樣的簡稱太專業了,把人都繞暈了。從英文解釋或中文全稱看就比較容易理解。指標陣列 array of pointers,即用於儲存指標的陣列,也就是陣列元素都是指標 陣列指標 a pointer to an ar...