C語言使用指標訪問陣列

2021-06-20 05:32:55 字數 1628 閱讀 4371

如果pa指向陣列中的某個元素,那麼pa+1將指向下乙個元素,pa+i指向下i個元素。所以,若果pa指向a[0],那麼*pa其實就是a[0],*(pa+1)就是a[1],*(pa+i)就是a[i]。根據這個思路,我們可以使用指標來訪問陣列。

01#include

02intmain(intargc,char*argv)

03;

05intwait, length, i;

06length =sizeof(score) /sizeof(score[0]);

07for(i = 0; i < length; i++)

08

11scanf("%d", &wait);

12}

程式輸出:

0176

0285

0390

0467

0559

0679

0782

0895

0991

1065

陣列下標與指標關係很密切。執行語句 pa = &a[0] 後,pa 和 a 就具有相同的值了,並且 *pa=a[0]。實際上c語言在計算陣列下標時也是使用指標來完成的。下標與指標其實是等價的。

當把乙個陣列名傳遞給乙個函式的時候,實際上傳遞的是該陣列的第乙個元素的位址。所以,陣列名引數必須是乙個指標。

計算字串長度的程式可以寫成以下:

view source

print?

1intstrlen(char*s)

2

s 是指標,也就是乙個變數,對它進行自增是合法的。

C語言指標和指標陣列的使用

2 指標的大小是固定的 32位平台下是4位元組,64位平台下是8位元組 3 指標 指標變數 也是乙個變數,用來儲存位址的變數,4 指標也有型別。有整形指標,字元指標,陣列指標,結構體指標,函式指標等等。整形指標 int a 10 int p a p 20 則a的值,通過p指向a,通過a的位址改變了a...

C語言指標陣列和陣列指標

初學者總是分不出指標陣列與陣列指標的區別。其實很好理解 指標陣列 首先它是乙個陣列,陣列的元素都是指標,陣列佔多少個位元組由陣列本身決定。它是 儲存指標的陣列 的簡稱。陣列指標 首先它是乙個指標,它指向乙個陣列。在32 位系統下永遠是佔4 個位元組,至於它指向的陣列佔多少位元組,不知道。它是 指向陣...

C語言指標陣列和陣列指標

初學者總是分不出指標陣列與陣列指標的區別。其實很好理解 指標陣列 首先它是乙個陣列,陣列的元素都是指標,陣列佔多少個位元組由陣列本身決定。它是 儲存指標的陣列 的簡稱。陣列指標 首先它是乙個指標,它指向乙個陣列。在32 位系統下永遠是佔4 個位元組,至於它指向的陣列佔多少位元組,不知道。它是 指向陣...