使用指针迭代数组

#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 解引它们来引用它们。