使用指標迭代陣列
#include <stdio.h>
#define SIZE (10)
int main()
{
size_t i = 0;
int *p = NULL;
int a[SIZE];
/* Setting up the values to be i*i */
for(i = 0; i < SIZE; ++i)
{
a[i] = i * i;
}
/* Reading the values using pointers */
for(p = a; p < a + SIZE; ++p)
{
printf("%d\n", *p);
}
return 0;
}
這裡,在第一個 for
迴圈條件中的 p
的初始化中,陣列 a
衰減到指向其第一個元素的指標,就像在幾乎所有使用這種陣列變數的地方一樣。
然後,++p
對指標 p
執行指標運算,並逐個遍歷陣列的元素,並通過*p
解引它們來引用它們。