C语言数组学习笔记(探讨)
int arr[5]={1,3,5,7,9}
int *p=arr
int *pi[5]=&arr
其中指针p代表的是数组arr的首地址
*(p+1)代表的就是第二个位置的3
p+1代表的是第一个位置的值加1等于2
原因:由于’'的优先级大于+,所以先取值后加
而
*pi[5]是数组指针,将数组arr[5]中的所以数的地址都存于当中。
(pi+1)值是3
而这里为什么括号里不是(pi+1)
我觉得应该也是和数组是一个道理,arr[]首地址用arr
而pi[5]类似,*p就是这个数组的首地址