二維陣列和指標之間的關係詳解

2021-08-07 23:14:58 字數 1903 閱讀 2018

一、引言

說起二維陣列可能首先想到的是各種巢狀的for迴圈,二維陣列的初始化,二維陣列的賦值,二維陣列的輸出等各種問題,當然了,陣列的問題永遠離不開指標,而二維陣列所能聯絡到的就是二維指標了,此文則是著重講解二維陣列與二維指標之間的關係。

二、初始化與賦值

#define m 4

#define n 5

int arr[m][n] = ,,,};

但是大多數情況下,我們一般是如下的操作:

int arr[m][n] = ;

for(int i = 0; j < m; i++)

}這樣的操作是沒什麼問題的,但是我們有時候,我們的m和n並不一定是常量,大多數情況下是乙個變數的話,我們需要動態的在堆上new乙個陣列出來,則需要做如下的**:

int m = 5; int n = 4;

int **p = new *int[m]; //此處p指向每個int陣列指標的首位址

for (int i = 0; i < m;i++)

而我們釋放這塊堆記憶體的時候可以入下面這樣寫:

for(int j = 0; j < m; j++)

delete p[j];

delete p;

三、陣列和指標之間的關係

二維陣列和二維指標有千絲萬縷的關係,可以這樣建立兩者之間的關係,

如下面的**所示,兩兩的**是等價的:

下圖中詳細的描述了各級指標之間的關係,以及與陣列之間的關係。

四、上述我們總結了二維陣列與二維指標之間的關係,在此做乙個記錄,以備後續檢視。

二維陣列和指標的關係

二維陣列和指標 要用指標處理二維陣列,首先要解決從儲存的角度對二維陣列的認識問題。我們知道,乙個二維陣列在計算機中儲存時,是按行儲存的,即先儲存第一行的元素,再儲存第二行的元素。當把每一行看作乙個整體,即作為乙個大的陣列元素時,原來的 二維陣列也就變成乙個一維陣列了。而每個大陣列元素對應原來 二維陣...

二維陣列和指標的指標的關係?

首先說 沒有關係!先告訴自己三遍 沒有關係,沒有關係,沒有關係 例 include intmain void int p1 arr 0 一級指標 int p2 arr 二級指標,即指標的指標 int p3 2 arr 指向乙個內含兩個int型別值陣列 printf p2 d n p2 printf ...

C 二維陣列和指標的關係

再翻開c primer時,不禁感嘆此書的嚴謹細緻。再學習下陣列和指標。主要講解二維陣列和指標的對應關係。掃盲 複習 陣列是一種復合資料型別,對資料型別,必然要介紹定義和初始化。定義和初始化 陣列的維數必須用值大於等於1的常量表示式定義。此常量表示式只能包含整型字面值常量 列舉常量貨用常量表示式初始化...