数组名是数组在内存中的起始地址
如果指针px指向数组x首元素,则x[i]、*(px+i)、*(x+i)、px[i]具有相同功能:访问数组第i+1个数组元素。
p[i] 等价于 *(p+i)
数组a的首地址a是常量,不能a++或a--做运算
sizeof(指针变量)求的是指针变量占的内存空间,与电脑环境有关,32位占4字节,64位占8字节
对于二维数组a[n][m]如果要指针指向第一个元素,要p = a[0],不要p = a
*(a+1)等价于 a[1]。二维数组的指针如果加上*则等级改变,从行指针变成列指针
行指针
存储行地址的指针变量叫行指针
<存储类型><数据类型>( * <指针变量名>)[表达式]
例如:int a[2][3]; int (*p)[3]
方括号的常量表达式表示指针+1,移动几个数据。
a[1][1] 数组等价于 行指针 *(*(a+1)+1)