1.函式指標表示指向某一函式的指標,如下所示,
int add(int,int);
int (*pf)(int,int);
pf=add;
注意,因為函式add有兩個引數,所以pf指標也必須有兩個引數;且函式add的兩個引數均為int型,所以pf的兩個引數也必須與之匹配。如下例,
應用,通過指向函式的指標計算各種函式的定積分,計分方法為梯形積分法:#include「stdio.h"
#include "conio.h"
int add(int,int); //加法器
int substract(int,int); //減法器
int multiply(int,int); //乘法器
int divide(int,int); //除法器
int (*operation)(int,int); //函式指標
int main()
int add(int a,int b)
int substract(int a,int b)
int multiply(int a,int b)
int divide(int a,int b)
2.返回指標的函式#include #include using namespace std;
//自定義函式:被積函式求值
double sinx(double x)
double e_sqrx(double x)
double x_sqrx(double x)
//自定義梯形法求定積分的函式
double integral(double a,double b,double (*fun)(double),int n)
while(n>s;
cin>>cmd;
switch(cmd)
return 0;
}
函式,其返回值為指標。
其原理表示如下:#include int main()
,,};
float *search(float(*pointer)[4],int ),*p;
int i,m;
printf("enter the number of student:");
scanf("%d",&m);
printf("the score of no.%d are:\n",m);
p=search(score,m); //指向第m個學生的所在的行
for(i=0;i<4;i++)
printf("%5.2f\t",*(p+i)); //指向第m個學生的各個成績
return 0;
}float *search(float (*pointer)[4],int n)
執行結果:
返回指標的函式 指向函式的指標
接下來我只講指標的最常見用法,比如這一章的內容 返回指標的函式 與 指向函式的指標 指標也是c語言中的一種資料型別,因此乙個函式的返回值肯定可以是指標型別的。返回指標的函式的一般形式為 型別名 函式名 引數列表 eg char upper 引數 返回指向char型的指標變數 比如下面這個函式,返回乙...
指向函式的指標 和 返回指標的函式
1 函式指標 char pfun int 定義乙個指向函式的函式指標pfun,指向的函式引數是int型 返回值是char型 char g1fun int a 定義了乙個函式,函式的函式名實際上就是乙個指標函式名指向該函式的 在記憶體中的首位址。int get2 void int get3 void ...
12 返回指標的函式 指向函式的指標
接下來我只講指標的最常見用法,比如這一章的內容 返回指標的函式與指向函式的指標 指標也是c語言中的一種資料型別,因此乙個函式的返回值肯定可以是指標型別的。返回指標的函式的一般形式為 型別名 函式名 引數列表 eg char upper 引數 返回指向char型的指標變數 比如下面這個函式,返回乙個指...