使用指標迭代陣列

#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 解引它們來引用它們。