C語言 指向函式的指標

2021-06-21 12:01:35 字數 2717 閱讀 8826

**

1

函式型別 (

*函式指標變數)() ;

//指向函式的入口位址

乙個函式是若干語句的集合 , 經編譯後儲存在函式**儲存區 , 並占有一片連續的儲存空間 ,對函式指標只能用函式名賦值而無其他運算

#include

<

stdio.h

>23

intmax(

intx ,

inty);45

intmain()617

18int

max(

intx ,

inty)19

函式名作為實際引數 :

1

#include

<

stdio.h

>23

intfun1(

inta ,

intb)47

8int

fun2(

int(

*q)() ,

intx ,

inty)912

13int

main()

14

設定乙個函式proc ,每次呼叫它會實現不同的功能 ,輸入 a , b 兩個數 ,第一次呼叫proc時,找出兩者中最大者 , 第二次找出最小者 , 第三次呼叫求兩數之差 :

1

#include

<

stdio.h

>23

intmax(

int*

x ,

int*

y);4

intmin(

int*

x ,

int*

y);5

inta_b(

int*

x ,

int*

y);6

intproc(

int*

x ,

int*

y ,

int(

*p)());78

intmain()928

29int

max(

int*

x ,

int*

y)30

3738

intmin(

int*

x ,

int*

y)39

4647

inta_b(

int*

x ,

int*

y)48

5556

intproc(

int*

x ,

int*

y ,

int(

*p)())

57

乙個簡單的主控選單程式 , 包括 增加 , 刪除 , 顯示 , 退出

1

#include

<

stdio.h

>

2#include

<

string

.h>

//字元操作

3#include

<

stdlib.h

>

//包含system函式 45

void

enter() ;

6void

delete() ;

7void

review() ;

8void

quit() ;9//

void enter() , delete() , review() , quit() ;

10int

menu();

11void(*

option)() = ;

1213

14int

main()

1527

} 28

29int

menu()30;

32char

*p , ch ;

//定義陣列指標應與陣列資料型別一致

3334

printf(

"1:enter\n");

35printf(

"2:delete\n");

36printf(

"3:review\n");

37printf(

"4:quit\n");

3839

printf(

"please select a number :");

4041

while(!

(p =

strchr(select , ch

=getchar())))

//將找到的字元位址賦給指標變數p

42//

若沒找到則 p 返回 '\0' 即 null , 非p 為真 執行 下列語句

4347

48return

((p

-select) %4

) ;

//返回值只可能為 0 ,1 ,2 ,3 49}

5051

void

enter()

5255

56void

delete()

5760

61void

review()

6265

66void

quit()

67

C語言 指向函式的指標

在c語言中,函式名代表函式的入口位址。可以定義乙個指標變數,接收函式的入口位址,讓它指向函式,這就是指向函式的指標,也稱函式指標。通過函式指標可以呼叫函式,它還可以作為函式的引數。函式指標的定義 函式指標定義的一般格式為 型別名 變數名 引數型別表 型別名指定函式返回值的型別,變數名是指向函式的指標...

C語言指向函式的指標

定義形式 型別 指標變數名 引數列表 例如 int p int i,int j 在這裡 int是函式的返回型別,p是指向函式的指標,int i,int j 是函式的引數 注意 int f int i,int j int p int i,int j 前者是返回值是指標的函式 後者是乙個指向函式的指標。...

C語言 指向函式的指標

c語言程式在編譯後,每個函式都有乙個首位址 也就是函式第一條指令的位址 這個位址稱為函式的指標。可以定義指向函式的指標變數,使用指標變數間接呼叫函式。先用乙個簡單的程式來說明 include float max float a,float b float min float a,float b ma...