int a[5];int p;p=a;printf ("a=%p",a);为什么这里的a不用&a就能把地址值取出来为什么a[2]的值与p[2]一样,还有a[2],(a+2)这两个在底层是什么意思,为什么能值一样,这里实在是把我绕晕了。
因为a是数组类型,直接输出就是对应的地址。p=a;p指向了a对应的地址,所以相等。*(a+2)是a[2]的指针指向的值的形式。