**
:
1乙個函式是若干語句的集合 , 經編譯後儲存在函式**儲存區 , 並占有一片連續的儲存空間 ,對函式指標只能用函式名賦值而無其他運算函式型別 (
*函式指標變數)() ;
//指向函式的入口位址
#include
<
stdio.h
>23
intmax(
intx ,
inty);45
intmain()617
18int
max(
intx ,
inty)19
函式名作為實際引數 :
1設定乙個函式proc ,每次呼叫它會實現不同的功能 ,輸入 a , b 兩個數 ,第一次呼叫proc時,找出兩者中最大者 , 第二次找出最小者 , 第三次呼叫求兩數之差 :#include
<
stdio.h
>23
intfun1(
inta ,
intb)47
8int
fun2(
int(
*q)() ,
intx ,
inty)912
13int
main()
14
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...