不矛盾,指针可以指向单个变量,也可以指向数组。C语言就是这么任性。
int a[] 和int*p是可以互换的,因为数组名就是一个指针,所以你访问数组除了可以像以前a【i】那样访问数组里的每个元素,也可以这样p=a;让指针p指向数组a;p指向数组的存储地址的起始处,也就是指向a【0】,那么下一个元素就是 *(p+i);