指針數組,數組指針

數組和指針存在一定的區別與聯繫

指針是一個變量,意味着它的值可以被重新賦予,數組名是和特定的內存地址判定的,不能被改變。

一維數組名和普通的指針在使用數組的方法上是一致的,都可以通過index來引用和修改數據。

例如:

int data[5];

int *p;

p = data;

二維數組在使用指針進行操作時存在一定的不同,指針是一個普通的變量,無法知道二維數組的結構,所以在指針的定義和使用上存在指針數組和數組指針兩種。

指針數組顧名思義就是存放指針的數組,數組指針顧名思義就是指向數組的指針。

定義形式:

指針數組     int *p[3];

數組指針      int (*x)[3];

指針數組中存放三個指針變量,數組指針中存放一個每行三個數據的數組。

如果希望使用數組指針來操作二維數據數據,需要明白數組指針指向的是二維數組,當x+1時,指針的移動爲一行的數據地址長度。

int data[3][4];

x = data;

data[M][N] 的數據就是*(*(x+M)+N)。

當使用二維指針指向某個整數時,需要使用一維指針來轉接。

例如:int i = 8;

int **p;如果希望指針p指向i,希望**p的內容是i的值,需要通過其他的指針int *mid;

mid = &i;

p = ∣則**p就是i的數據。+

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章