1、数组
一个数组名字可以像指针变量一样引用但是不能被修改
a[3] == *(a+3)
a[0][1] == *(*(a+0)+1))
2、强制转换成另一种类型,只改变它的类型不改变它的值
强转的效果是改变指针运算的伸缩
3、指向函数的指针
把函数名 和指针 带括弧 括起来。
int fun(int x,int *p);
//声明指针fp,将他赋值为这个函数
int (*fp)(int,int *)
fp = fun;
int y = 1;
int result = fp(3,&y)
int * f (int *) = (int *)f (int *)
他会被解释成函数原型,一个函数f,返回值是int *,参数是int *