指针可以应用在数组上,因为数组的数组名就是数组第一个元素的地址,这也是为什么 <数组名>={"adsfdsaf"};赋值方法的错误因为数组名并不代表整个数组。
int a[2];
&a[0]==a;
因为数组名为第一个元素的地址所以数组有以下引用方式,:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
int a[2]={10,20};
printf("%d %d",*(a+1),*a);
return 0;
}
由上可知*a=a[0];
还可以将数组地址赋值给指针变量,通过指针变量来调用数组:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
int iData[6]= {1,2,3,4,5,6};
int *pint=iData,i;
for(i=0; i<6; i++)
printf(i==5?"%d\n":"%d ",iData[i])