<A href="http://www.goodprogrammer.org/" target="blank">ios培训</A>------我的c语言笔记,期待与您交流!
指针(二)
一、指针的指针:其实就是易于句话,指针的指针存着指针的地址,能理解这句话下面的就不用看了。
这一点我引用《彻底搞定c指针的一段内容》
short int i = 50;
short int *pi = &i;
short int **pi = π则我们来回答如下问题
i的值? : 50 变量i
&i的值? : 5 变量i的地址
pi的值? :5 指向变量i的地址的变量(指针变量)的值
*pi的值? : 50 变量i的值
&pi的值? : 9 指向变量i的地址的变量的地址
ppi的值? :9 ppi指向指针变量pi,它的值为指针变量pi的地址
*ppi的值? : 5 对ppi取值,就是对9取值,9的格子里面存的是5
**ppi的值? : 50 对ppi取值是pi,再对pi取值就是变量i的值50
二,函数指针
指向函数地址指针,定义 int (*p)(int x,int y);
定义了一个指向函数的指针p 其函数的返回值为int, 有两个整形参数。
用的时候
int Max(int x,int y){....}
int main()
{
Int a=6,b=10;
int (*p)(int,int)=NULL;
p=max;或者是p=&max;
*(p)(a,b)或者是p(a,b);
}
用typedef 更简单
typedef int (*kk)(int,int);
Int main()
{
int a=6,b=10;
kk p=NULL;
p=max;或者是p=&max;
*(p)(a,b)或者是p(a,b);
}