指向陣列的指標

2021-07-26 09:22:59 字數 750 閱讀 9469

陣列(array)是一系列具有相同型別的資料的集合,每乙份資料叫做陣列元素(element)。陣列中的所有元素在記憶體中是連續排列的,整個陣列占用的是一塊記憶體。

定義陣列時,要給出陣列名和陣列長度,陣列名可以認為是乙個指標,它指向陣列的第0個元素。在c語言中 我們將0個元素的位址稱為陣列的首位址。

int arr=

首先陣列名和陣列首位址並不總是等價。

以指標的方式遍歷陣列元素:

#include

int main();

int len=sizeof(arr)/sizeof(int);  //求陣列長度

int i;

for(i=0;i

int main();

int len=sizeof(arr)/sizeof(int);  //求陣列長度

int i;

for(i=0;iprintf("\n");

return 0;

}關於陣列指標的謎題

假設p 是指向陣列arr中第n個元素的指標,那麼*p++、*++p、(*p)++分別是什麼意思

*p++等價於*p(++),表示先取得第n個元素的值,再將p指向下乙個元素。

*++p等價於*(++p)會先進行++p運算,使得p的值增加,指向下乙個元素,整體上相當於*(p+1),所以會獲得第n+1個陣列元素的值

(*p)++ 會先取得第n個元素的值,再對該元素的值加1。假設p指向第0個元素,並且第0個元素的值為99,執行完該語句後,第0個元素的值就會變為100.

指向陣列的指標

乙個陣列儲存在一塊連續記憶體單元中 陣列名就是這塊連續記憶體單元的首位址 第 i 1 個陣列元素的位址可表示為 data i 或 data i 可以通過以下方式為指向陣列的指標賦值 int a 10 pa a 0 或者pa a 乙個指標變數可以指向乙個陣列元素。int ptr,data 10 ptr...

指標 陣列指標 指標陣列 指向指標的指標

程式中一般通過變數名對變數進行訪問操作,其實質是通過位址進行的。對變數的訪問分為直接訪問和間接訪問,如語句 printf d i 執行的時候,根據變數名 與位址的對應關係,找到i的位址,依次取相應的位元組數中的資料 即i的值 把它輸出。這種按照變數位址訪問變數值的方式成為直接訪問 還可以將變數i的位...

指標陣列與指向陣列的指標

指標陣列 定義 int p n 優先順序高,先與p結合成為乙個陣列,再由int 說明這是乙個整型指標陣列,它有n個指標型別的陣列元素。這裡執行p 1時,則p指向下乙個陣列元素,這樣賦值是錯誤的 p a 因為p是個不可知的表示,只存在p 0 p 1 p 2 p n 1 而且它們分別是指標變數可以用來存...