声明一个数组 int a[10];
数组名a不代表整个数组,只代表数组首元素的地址,且a是一个地址常量
所以当int *p=a[10];
*(p++);可以访问数组
a++不可以,常量不能自增
下面通过数组名作函数参数,证明数组名是个地址常量
#include <stdio.h>
#include <stdlib.h>
int main()
{ void fun(int arr[],int n);
int a[10]={1,2,3,4,5,6,7,8,9,0};
fun(a,10); //数组名作实参
return 0;
}
void fun(int *arr,int n){ //以指针变量接收a(地址)
int i=0;
for(i;i<10;i++)
printf("a[%d]=%d\n",i,*(arr++));
}