陣列指標 指標陣列

2022-08-20 03:09:19 字數 1142 閱讀 4788

陣列指標:

定義 int (*p)[n];      

占用記憶體中乙個指標的儲存空間

()優先順序高,首先說明p是乙個指標,指向乙個int型的一維陣列,故名陣列(的)指標。指向的一維陣列的長度是n,也可以說是p的步長為n。

例:可指向二維陣列,(*(p+i))[n],n為列。

如要將二維陣列賦給一指標,應這樣賦值:

int a[3][4

];int (*p)[4]; //

該語句是定義乙個陣列指標,指向含4個元素的一維陣列。

p=a; //

將該二維陣列的首位址賦給p,也就是a[0]或&a[0][0]

p++; //

該語句執行過後,也就是p=p+1;p跨過行a[0]指向了行a[1]

所以陣列指標也稱指向一維陣列的指標,亦稱行指標。

指標陣列

定義 int * p[n];      多個指標變數,以陣列形式存在記憶體當中,占有多個指標的儲存空間

優先順序高,首先說明p是乙個陣列,陣列中元素型別是int *型指標,故名(存)指標(的)陣列。p[0]、p[1]、p[2]...p[n-1]元素值都是指標變數。

如要將二維陣列賦給一指標陣列:

int *p[3];    //

p 一維陣列內存放著三個指標變數

int a[3][4

];

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

p[i]=a[i]; //

都是int *型,p[i]賦予的是二維陣列第i個一維陣列的首位址 n為行。

這裡int *p[3] 表示乙個一維陣列內存放著三個指標變數,分別是p[0]、p[1]、p[2],所以要分別賦值。

二維陣列a[i][j]:

陣列指標

int (*p)[n]

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

指標陣列

int * p[n]

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

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

指標是在32位系統下佔四個位元組,64位系統下佔八個位元組的一種型別,指標指向的內容可以是常量,變數,函式,結構體,指標本身,陣列,等等.一級指標 一級指標常常在函式傳參時使用,可傳的引數有一維陣列,常量指標,函式指標等等都可以 但我們要注意不要在函式中,通過改變形參的指向來達到改變實參指向的效果,...

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

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

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

1.指標 指標可以看成乙個變數,指標所佔記憶體的大小和處理器的定址空間大小有關,32位處理器指標大小為4個位元組,64位處理指標大小為8個位元組。int p 定義乙個int型別的指標,p就可以看成乙個變數,p的值為0,表示p指向0位址 p也是占用記憶體的,編譯器在棧上為p分配記憶體,儲存p的值0,0...