指標陣列的學習

2021-08-06 02:56:55 字數 607 閱讀 6778

本章主要講解的內容是如何通過指針對二維陣列進行遍歷:

首先,講解一下二維陣列,int a[3][3]

二維陣列的數學概念就是乙個3*3階的矩陣形式,而實際中,二維陣列在記憶體中是一維線性排列的

我們先定義乙個指向a的指標p,int (*p)[4]=a。其中的優先順序高於*,如果我們不帶上括號,就會變成 int *(p[4])

就會使得p成為了乙個指標陣列,因此,這個小括號是必須要加上的。

看下面的**:

int main()

,,};

int i,b;

p=a;

for(i=0;i<3;i++)

system("pause");

return 0; }

由,這個程式我們可以看出指標陣列遍歷二維陣列的格式*()最外面的一層口號是遍歷第二維度,也就是列,最裡面的*()是遍歷行的,所以有下面的等價公式:

a+i==p+i

a[i]==p[i]  *(a+i)==*(p+i)

a[i][j]==p[i][j] ==*(a[i]+j)==*(p[i]+j)==*(*(a+i)+j)==*(*(p+i)+j)

*(*(a+1)+1)是遍歷第一行第一列的元素

陣列,指標陣列,陣列指標的學習理解

本文將以如下定義的陣列及指標為例,對陣列,指標陣列,陣列指標進行說明。這是看完書後總結的,所謂好記性,不然爛部落格,想將這些總結記下,以便需要時進行重溫。如有理解上的錯誤,望大家指出。int a 3 3 int p0 3 int p1 4 int p3 int p4 1 二維陣列 a 二維陣列名 a...

typedef的學習 陣列指標與指標陣列的差異

有時候我們會對一些資料型別,根據他的功能來對其命名。我們可以利用 這個函式 的資料型別 下面舉幾個例子 利用 替換整數型別 從上的例子可以看書,當用 代替 以後我們可以用 對變數 進行定義 利用 替換陣列型別 從上面的例子可以看到,是 陣列的別名,注意了別用要緊跟型別後面,所以別名要在陣列的長度前面...

指標, 指標的指標, 陣列, 指標陣列, 陣列指標

指標 int a 10 int p a 指標的指標 int b 20 int p b int p2p p 簡單陣列 int c 10 整數陣列,含有10個整數元素 也就是說每乙個元素都是整數 指標陣列 int p 10 指標陣列,含有10個指標元素 也就是說每乙個元素都是指標 陣列指標 int p ...