如有如下定义int a[5]={1,2,3,4,5},*p;如果printf("%d",*a); 则显示a[0]的值,即1;在此说明a保存的数组第一个元素的地址,即首地址。而a又是一个数组的名称,它是一个常量,说明a恒指向数组的首地址。以下语句则是错误的a=p;a=a+1;a++;不能改变常量的值。