C 指向陣列的指標 和 陣列指標 詳細分析

2021-09-11 06:02:31 字數 695 閱讀 5135

指向陣列的指標:

char *p = new char;定義指向動態分配的字元變數的指標;

char *p = new char[3];定義指向動態分配的一維字元陣列的指標,p指向陣列首個元素的位址,即(p+1)為陣列第二個元素的位址;

char (*p)[3] = new char[2][3];定義指向動態分配的二維字元陣列(三行二列)的指標,p指向陣列首行的位址,即(p+1)為陣列第二行的位址;

char (*p)[9][8] = new char[7][9][8];定義指向動態分配的三維字元陣列的指標(7個9列8行的二維陣列),p指向首個二維陣列的位址,即(p+1)為第二個二維陣列的位址;

同樣的,char資料型別可換成其他資料型別,比如point類型別,例:point *p = new point[2];定義指向動態分配的一維point類物件陣列的指標。

指標陣列:

這裡只舉例一維陣列:

point *p[2];定義乙個point類物件的陣列,陣列裡的兩個元素都是指向point類物件的指標(p[0], p[1])。

指標陣列和陣列指標的詳細解答

原文 首先弄明白什麼是指標陣列,什麼又是陣列指標。指標陣列 型別名 陣列名 陣列長度 如 int p 8 因為優先順序的關係,p先與結合,說明p是乙個陣列,然後再與 結合陣列p 的元素是指向整型資料的指標。相當於定義了8個整型指標變數。在此,p就是 陣列元素為指標的陣列,本質為陣列。陣列指標 型別名...

指標陣列和陣列指標的詳細解答

首先弄明白什麼是指標陣列,什麼又是陣列指標。指標陣列 型別名 陣列名 陣列長度 如 int p 8 因為優先順序的關係,p先與結合,說明p是乙個陣列,然後再與 結合陣列p 的元素是指向整型資料的指標。相當於定義了8個整型指標變數。在此,p就是 陣列元素為指標的陣列,本質為陣列。陣列指標 型別名 指標...

C指標陣列和陣列指標

測試 int main 定義二維陣列m並初始化 int p 4 陣列指標 p是指標,指向一維陣列,每個一維陣列有4個int元素 int i,j int q 3 指標陣列 q是陣列,陣列元素是指標,3個int指標 p m p是指標,可以直接指向二維陣列 printf 陣列指標輸出元素 n for i ...