C语言中指针与数组有着十分密切的关系,任何能够用数组实现的运算都可以通过指针来完成。例如,定义一个具有10个元素的整型数组可以写成:
int a[10];
数组a中各个元素分别为a[0],a[1],…,a[9]。数组名a表示元素a[0]的地址,而*a则表示a所代表的地址中的内容,即a[0]。
如果定义一个指向整型变量的指针pa并赋以数组a中第一个元素a[0]的地址:
int*pa;
pa=&a[0];
则可以通过指针pa来操作数组a了。即可用*pa代表a[0],*(pa+i)代表a[i]等,也可以使用pa[0],pa[1],…,pa[9]的形式。
例2-43 使用指针与数组的例子——计算质数。
程序执行结果: