#include<>
void main()
{
int a[5]={10,20,30,40,50};
int *aptr,i;//指针变量声明
aptr=&a[0];//指针变量指向变量a
for(i=0;i<5;i++)//通过数组下标引用元素
printf("a[%d]=%d\n",i,a[i]);
for(i=0;i<5;i++)//通过数组名引用元素
printf("*a(a+%d)=%d\n",i,*(a+i));
for(i=0;i<5;i++)//通过指针变量下标引用元素
printf("aptr[%d]=%d\n",i,aptr[i]);
for(aptr=a,i=0;aptr<a+5;aptr++,i++)//通过指针变量偏移引用元素
printf("*(aptr+%d)=%d\n",i,*aptr);
}
<img src="/20150720183656298?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
在上面的程序中,共有四个for循环,其中第一个for循环是利用数组下标访问数组的元素,第二个for循环是使用数组名访问数组元素。在C语言中,地址也可以像一般变量一样进行加减运算,但是指针的加1和减1表示的是一个元素单元,第三个for循环是利用指针访问数组的元素,第四个for循环则是先将指针偏移,然后对该指针所指向的内容进行访问。