指向函式的指標 返回指標的函式

2021-06-28 11:23:35 字數 1680 閱讀 9147

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)

應用,通過指向函式的指標計算各種函式的定積分,計分方法為梯形積分法:

#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;

}

2.返回指標的函式

函式,其返回值為指標。

#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型的指標變數 比如下面這個函式,返回乙個指...