#include<stdio.h>
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="https://img-blog.csdn.net/20150720183656298?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
在上面的程序中,共有四個for循環,其中第一個for循環是利用數組下標訪問數組的元素,第二個for循環是使用數組名訪問數組元素。在C語言中,地址也可以像一般變量一樣進行加減運算,但是指針的加1和減1表示的是一個元素單元,第三個for循環是利用指針訪問數組的元素,第四個for循環則是先將指針偏移,然後對該指針所指向的內容進行訪問。