(1)int* p[2] 是一个指向int型的指针数组,即:p是包含两个元素的指针数组,指针指向的是int型。
(2)对于 int (*p)[2], 它相当于一个二维数组的用法,只是它是一个n行2列的数组。即为数组指针。
(3)获取函数地址的方法:只使用函数名(后面不跟参数),也就是说,think()为一个函数,则think是该函数的地址。
(4)声明函数指针:double think(int); , 则指针类型的声明为:double (*p)(int);(double为返回值类型,int为形参类型)
将think替换为(*p),所以(*p)也是函数,所以p为这个函数的指针;
函数指针,指针函数写法与数组相同。
(5)const int* p =&a表示的是该指针所指向的值是不允许修改的(不允许通过指针修改,但是可以通过a本身修改),但是可以将指针p指向别的地址;
int* const q=b 表示的是该指针所指向的地址不允许修改,但是其指向的值可以修改;