做题相关的东西会被记录于此。

关于数组声明

int* a[2] 是一个存放指针的数组。

int (*a)[2] 是指向数组的指针。注意,a指向的是数组整体

同理,int (*a)[2][2] 指向的是[2][2]这个整体。

int (**a)[2][2]*a 指向[2][2]这个整体,而a 指向*a

对于函数指针,我们可以用先右后左的思路看。

int* (*a[3])(int*, int) 首先这是一个数组;数组里面放的是指针;这是函数指针;参数类型是一个int指针和一个int;返回值是int*。

关于金丝雀

printf ("%d %p ...", a, p) 这是正常的使用方法。

printf ("%d %p ...") 也是可以执行的。