使用指针迭代数组
#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
解引它们来引用它们。