首页 > 编程知识 正文

函数指针有什么用,什么叫函数指针

时间:2023-05-04 22:32:24 阅读:203666 作者:1225

文章目录 指针函数函数指针

指针函数

指针函数本质是一个函数,返回值是某一类型指针
写法如下:

int* fun(int x,int y);int * fun(int x,int y);int *fun(int x,int y);

例子如下:

#include<iostream>using namespace std;char * D(char s[]){return s;}int main(){char s[]="abcvb";cout<<D(s)<<endl;return 0;}

例2:

#include<iostream>using namespace std;int * D(int s[]){return &s[0];}int main(){int s[]={0,1,2,3};cout<<D(s)<<endl;return 0;} 函数指针

函数指针是指向函数的指针,本质是指针变量
声明与赋值如下:

int (*fun)(int x,int y);fun = &Function;或者int (*fun)(int x,int y);fun = Function;

调用指针的方式有两种

a = (*fun)();a = fun();

例子如下:

#include<iostream>using namespace std;int add(int a,int b){return a+b;}int subtract(int a, int b){return a-b;}int main(){int a,b;char c;int (*pf)(int,int);cout<<"请输入算式(如12+34):n";cin>>a>>c>>b;switch(c){case '+': pf=add;cout<<"和为:"<<(*pf)(a,b)<<endl;break;case '-': pf=subtract;cout<<"减为:"<<(*pf)(a,b)<<endl;break;default:cout<<"请重新输入"<<endl;}}

函数指针数组如下:

#include<iostream>using namespace std;int add(int a,int b){return a+b;}int subtract(int a, int b){return a-b;}int multiply(int a, int b){return a*b;}int divide(int a, int b){return a/b;}int main(){int a,b;char c;int (*pf[4])(int,int);pf[0]=add;pf[1]=subtract;pf[2]=multiply;pf[3]=divide;cout<<"请输入算式(如12+34):n";cin>>a>>c>>b;switch(c){case '+': cout<<"和为:"<<(*pf[0])(a,b)<<endl;break;case '-': cout<<"减为:"<<(*pf[1])(a,b)<<endl;break;case '*': cout<<"积为:"<<(*pf[2])(a,b)<<endl;break;case '/': cout<<"除为:"<<(*pf[3])(a,b)<<endl;break;default:cout<<"请重新输入。"<<endl;}}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。