1.指向指针指针的指针
定义形式:[存储类型] 类型名 **指针名;
int **p1;
int *p2;
int i=3;
p2=&i;
p1=&p2;
**p1=5;
解析图
把i的地址赋给p2,再把p2的地址赋给p1,p1---->p2------>i
2.指向函数的指针
(1)函数指针变量定义形式
数据类型 (*指针变量名)();//如int(*p)();
(2)函数指针变量赋值;
p=max;//max是函数名,存放函数的入口地址
(3)函数调用形式
c=max(a,b)<------>c=(*p)(a,b);
#include <stdio.h>
int max(int,int);
void main()
{
int (*p)(int, int) ///说明*p是个指向函数的指针变量
int a,b,c;
p=max;//函数指针变量指向的函数必须有函数说明
scanf("%d, %d" &a,&b);c=(*p)(a,b);
printf("a= %d,b= %d,max= %d\n" ,a,b,c);
}
int max(int x,int y}
{ int z;
if(x=y) z=x;else z=y;return(z);
}