陣列和指標

2022-08-01 10:00:14 字數 967 閱讀 9571

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...