1.動態分配一維陣列
int *p = (int *)malloc(sizeof(int)*10);//或者int * p = new int[10];
2.動態分配二維陣列 2 x 5
int *p = (int *)malloc(sizeof(int)*10);//或者int *p = new int[10];
int (* pp)[5] = (int (*)[5])p;
3.動態分配三維陣列 12 = 3(面) x 2(行) x 2(列)
int *p = (int *)malloc(sizeof(int)*12);//或者 int *p = new int[12]
int (* pp)[2][2] = (int (*)[2][2])p;
考慮下面的指標陣列的記憶體分配問題
a.一維指標陣列
1.陣列在棧上for (int i = 0; i<10; i++)
for (int j = 0; j<10; j++)
// 2.陣列在堆上
int ** p = new int * [10]; // 不能寫成 new (int *) [10];
for (int i = 0; i<10; i++)
for (int j = 0; j<10; j++)
delete p;//重要
b.二維指標陣列
int *b[4][5]; // 10個指標陣列,內容為指標。// 1.陣列在棧上
// 2.陣列在堆上
int **p = new int * [20];
int* (* pp)[5] = (int* (*)[5])p; // 指向二維指標陣列的指標
32位下指標永遠4位元組,指標的型別表明了變數讀取的方式。
陣列指標和指標陣列
陣列指標 也稱行指標 定義 int p n 優先順序高,首先說明p是乙個指標,指向乙個整型的一維陣列,這個一維陣列的長度是n,也可以說是p的步長。也就是說執行p 1時,p要跨過n個整型資料的長度。如要將二維陣列賦給一指標,應這樣賦值 int a 3 4 int p 4 該語句是定義乙個陣列指標,指向...
陣列指標和指標陣列
一 定義 陣列指標 陣列指標 是指向陣列 首元素的位址的 指標,其本質為指標 這個指標存放的是陣列首位址的位址,相當於2級指標,這個指標不可移動 指標陣列 陣列元素為指標的陣列,其本質為陣列。二 舉例 int a 3 4 這個無需多說,就是乙個 二維陣列 int p 4 就相當於int p 4 它就...
陣列指標和指標陣列
這兩個名字不同當然所代表的意思也就不同。我剛開始看到這就嚇到了,主要是中文太博大精深了,整這樣的簡稱太專業了,把人都繞暈了。從英文解釋或中文全稱看就比較容易理解。指標陣列 array of pointers,即用於儲存指標的陣列,也就是陣列元素都是指標 陣列指標 a pointer to an ar...