指针
-
*p[3]是指针数组- 3 个
int*,[]优先级高于*,先是数组
- 3 个
-
(*p)[3]是数组指针- 指向”3 个 int 的数组”的指针,
p + 1跳 3 个 int
- 指向”3 个 int 的数组”的指针,
-
读法:从标识符出发,先右后左,
[]、()优先级高于* -
int (*f)(int)是函数指针,int *f(int)是返回指针的函数 -
char *argv[]等价于char **argv -
二维数组传参写
int a[][N]或int (*a)[N],列数不能省 -
指针加减按所指类型大小跳,两个指针相减得元素个数不是字节数
-
const int *p不能改*p,int *const p不能改p