函数指针和指向函数的指针•用函数指针变量调用函数;•函数指针作函数的参数;•返回指针的函数。1、用函数指针变量调用函数(函数指针)•一个函数在编译时被分配一个入口地址(第一条指令的地址),这个入口地址称为函数的指针。如果一个指针变量的值等于函数的入口地址,称为指向函数的指针变量,简称为函数指针;可以通过函数指针来调用函数。•函数指针定义的一般形式:函数返回值类型(*指针变量名)(形参类型)eg:int(*p)(int,int);注:用函数指针调用函数时,应指定实参;(*p)()表示一个指向函数的指针变量,它可以先后指向不同的函数;指向函数的指针变量p,向p++、p--、p+n等运算是无意义的。用函数指针调用函数max()2.函数指针作函数参数实参函数名f1f2sub(int(*x1)(int),int(*x2)(int,int))/*定义x1、x2为函数指针变量,x1指向的函数有一个整型形参,x2指向的函数有两个整型形参*/{inta,b,i=a,j=2;a=(*x1)(i);/*调用f1函数*/b=(*x2)(i,j);/*调用f2函数*/…f1函数f1x1f2函数f2x2lizi.CPP3、返回指针的函数•一般形式:类型标识符*函数名(参数表)例int*a(intx,inty)声明一个函数,函数名为a,其返回值类型是“指向整型的指针”,函数形式参数为intx和inty。例2.有若干学生的成绩(每个学生四门课程),要求用户在输入学生序号(从0开始)后,能输出该学生的全部成绩。分析:设计一个指针pointer指向一个学生的四门成绩float(*pointer)[4]看图!pointer是一个指向一维数组的指针。数组元素个数为4(四门课程)pointer+1指向下一个学生的成绩。输入学生序号后,使pointer指向该学生的成绩,然后返回pointer指针.•lizi2.CPP