函数的指针
来源:互联网 发布:c语言地址符号 编辑:程序博客网 时间:2024/04/29 22:09
一,函数的指针(指向函数的指针)
用法:1:先声明和定义一个指向函数类型的指针 形式:函数类型 (*指针名)(该函数的参数(可以不加函数的参数名));
2:给声明的函数指针赋值即指针=函数名; 如P=fun1;
3:调用和函数的调用一样;
说明:当有两个函数类型和有,参数类型以及参数的个数都一样时,不用纠结,赋值和区分调用的具体是哪个函数。
#include <iostream>
using namespace std;
double fun1(double, double);//函数 f(x)=2*x;
double fun2(double, double);// 函数 f(x)=x*x*x:
/*用矩形法求定积分*/
/* f(x)=2*x */
double fun1(double d_xx, double d_sx) {
double i_n = 0;
i_n = (d_sx - d_xx) / 10000; //////////////////区间宽度
int i_i; // 计数
double f_x;
double sum = 0; //求和
for (i_i = 0; i_i < 10000; i_i++) {
f_x = 2 * (d_xx + i_i*i_n);
sum += f_x *i_n;
}
return sum;
}
/*f(x)=x^3*/
double fun2(double d_xx, double d_sx) {
double i_n = 0;
i_n = (d_sx - d_xx) / 10000; //////////////////区间宽度
int i_i; // 计数
double f_x;
double sum = 0; //求和
for (i_i = 0; i_i < 10000; i_i++) {
f_x = (d_xx + i_i*i_n)*(d_xx + i_i*i_n)*(d_xx + i_i*i_n);
sum += f_x*i_n;
}
return sum;
}
int main() {
double(*p)(double, double); //声明一个函数指针
p = fun1; //赋值
cout << p(0, 2);
cout << ("世界 你好");
p = fun2;
cout << p(0, 2);
return 0;
}
二 指向 函数的指针作为参数
1: 在函数的参数列表中加入函数指针的声明(声明和一般声明一样)。
2:在该函数中给函数指针的形参赋值(要调用的函数名)。
3:其他的和一般函数的使用一样。
注意:不能使用无效的指向函数的指针作为实参。
#include <iostream>
using namespace std;
double fun1(double, double);//函数声明
double intergral(double a, double b, double(*fun0)(double d_xx, double d_sx)) {
fun0 = fun1;
return fun0(a, b);
}
double fun1(double d_xx, double d_sx) {
double i_n = 0;
i_n = (d_sx - d_xx) / 10000;
int i_i;//计数
double sum = 0;
for (i_i = 0; i_i<10000; i_i++)
sum += 2 * (d_xx + i_i*i_n)*i_n;
return sum;
}
int main() {
double(*p)(double, double);
p = fun1;
cout << p(0, 2);
cout << ("世界 你好");
cout << intergral(0, 2, p);
return 0;
}
- 指针函数 函数的指针
- 函数指针,函数指针数组,函数指针数组的指针
- 函数指针,函数指针数组,函数指针数组的指针
- 函数指针,指针函数,指针的指针做函数参数
- 函数指针,函数指针数组,函数指针数组的指针
- 函数指针、函数指针数组,函数指针数组的指针
- 指针函数、函数指针、返回函数指针的函数
- 函数,指针与函数的关系,函数指针,指针函数
- 指针函数、数组指针、函数指针、函数指针数组和指向函数指针数组的指针
- 函数指针数组的指针
- 函数形参中指针的指针
- 函数指针数组的指针
- 指针数组、数组指针、指针函数、函数指针的区别
- 函数指针和指针函数 指针的指针
- 对函数指针,指针函数和指针的指针理解。
- 指针函数,函数指针,指针的指针 详解
- 指针数组 数组指针 指针函数 函数指针的区别
- 指针,指针函数,指针数组的区别
- 一张图说明不写备注的重要性
- aspx部署加载失败的解决办法
- Ubuntu下安装MySQLdb(mysql-python)的过程
- 散列表
- java笔记2
- 函数的指针
- objc_msgSend()报错Too many arguments to function call ,expected 0,have2
- eclips导出项目以及修改相关设置,导入android studio
- Mycat生产实践---生产环境部署
- oracle之to_char和to_date用法
- 整除的尾数
- Caused by: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):
- k&r课后习题整理——第一章
- python中列表(list)的基本操作