int a[10];数组名即是数组的首地址;
char*p=a;是错误的;char型指针只能指向char型数据,这里指向一个int型数组是不正确的;改为int*p=a;
p指向a数组,也就是说p和a是相等的,所以用p[i] a[i]都可以赋值的
首先,a是整型变量,你把它付给字符变量本身就是错误的。
其次用P[i]给数组赋值的是时候,它是指数组第i个元素的地址,这个你要搞清楚了。
然后a[i]指的是数组的第i个元素,不是地址。
指针它是c语言中的重点,希望我说的你能理解!
c++ primer中说, 只属于隐式转换的一种,数组名转换为指向该数组第一个元素的一个指针变量。但是这里应该是错的,应该改成int *p = a;