C语言的函数指针
C语言的函数指针
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#incldue <stdio.h>
int two(int x){
return x * 2;
}
int three(int x){
return x * 3;
}
int main(){
int (*times)(int);
int n = 2;
if (argc == 1){
times= two;
}else{
times = three;
}
pirntf("times(%d)=%d\n",n,times(n));
}
其中,函数返回值类型 (* 指针变量名) (函数参数列表);
,“`函数返回值类型” 表示该指针变量可以指向具有什么返回值类型的函数;“函数参数列表” 表示该指针变量可以指向具有什么参数列表的函数。这个参数列表中只需要写函数的参数类型即可。
1
int (*times)(int);
变量times,是指向一个拥有int型的参数并返回int数值的函数的指针。
当参数为0个时,将函数two()
的指针赋值给变量times
1
times(2)=4
当参数存在时,将three的指针赋给times
1
times(2)=6
This post is licensed under
CC BY 4.0
by the author.