指標陣列與陣列指標

2021-10-06 12:00:00 字數 701 閱讀 2199

指標陣列:是指 陣列 裡面裝的是指標

陣列指標:是指標,該指標指向陣列

int * a[5];     //指標陣列

int (*b)[5]; //陣列指標

對於a,a是陣列的首位址,陣列a的元素是指標,a所指向的儲存單元大小為乙個元素的長度,如果指標長度為32位(4位元組),則a所指向的儲存單元大小為4位元組。

對於b,b是指標變數,所指向的儲存單元為有5個整型變數的陣列。

所以,a+1位址跨度為4位元組,b+1位址跨度為4*5=20位元組

接下來看一道指標陣列題

#includeusing namespace std;

int main()

; char * *pa = a;

pa++;

cout<<*pa《輸出結果為the,為什麼?

對於char * a[3]; 以*分割左右,右邊是陣列,陣列裡邊存的是指標,指標指向相對應的字串,有可能不理解它這不明明指向的是char字元嗎,怎麼就是字串了?語言是給機器翻譯的,設計語言並告訴機器怎麼解釋就可以了吧,所以站在人的思考角度強行解釋「它指向相對應的字串」是不科學的。

pa是乙個指標,它的型別與 a 相同,它的位址跨度為乙個指標元素的大小,pa指標所指向的內容是指標*pa,*pa指向字串

所以,pa++為指標陣列的第二個元素的位址,這個元素的指標內容指向字串「the」

指標與陣列,指標陣列 陣列指標

int a 10 print n a p,a p a,a print n a 1 p,a 1 p a 1,a 1 a做乙個指標,步長為4,指向乙個元素,a做乙個指標,步長為40,指向乙個維陣列 int b 3 4 print n b p,b p,b p b,b,b print n b 1 p,b 1...

陣列 指標陣列與陣列指標

一 陣列型別 int a 10 printf a d,a 1 d n a,a 1 printf a d,a 1 d n a,a 1 輸出結果 2 陣列元素的首位址是常量,不能修改,這是為了釋放記憶體空間所必需的,否則找不到釋放記憶體空間的首位址了 3 定義乙個陣列型別 定義陣列型別的格式如下 typ...

指標陣列與陣列指標

1.指標陣列 指標陣列中每乙個元素都是乙個指標,也既是存放字串的首位址。所以指標陣列適合處理若干個長度不等的字串。定義的一般形式為 型別說明符 指標陣列名 陣列長度 例如 int p 3 宣告乙個陣列,指標陣列p,由3個int型別指標變數元素組成 從運算子的優先順序分析,由於 的優先順序大於 所以p...