华夏财富网

网站首页 优选知识 > 正文

函数指针作为参数(函数指针)

2022-08-30 17:18:19 优选知识 来源:
导读 大家好,小福来为大家解答以上的问题。函数指针作为参数,函数指针这个很多人还不知道,现在让我们一起来看看吧!1、函数指针是指向函数的指...

大家好,小福来为大家解答以上的问题。函数指针作为参数,函数指针这个很多人还不知道,现在让我们一起来看看吧!

1、函数指针是指向函数的指针变量。

2、因而“函数指针”本身首先应是指针变量,只不过该指针变量指向函数。

3、这正如用指针变量可指向整型变量、字符型、数组一样,这里是指向函数。

4、如前所述,C在编译时,每一个函数都有一个入口地址,该入口地址就是函数指针所指向的地址。

5、有了指向函数的指针变量后,可用该指针变量调用函数,就如同用指针变量可引用其他类型变量一样,在这些概念上一致的。

6、函数指针有两个用途:调用函数和做函数的参数。

7、函数指针,顾名思义,就是指向一个函数的指针。

8、例:#include void say_hello(const char *str){printf("Hello %s", str);}int main(void){void (*f)(const char *) = say_hello;f("Guys");return 0;}f为指向函数say_hello函数的指针;其中f("Guys");可换为:(*f)("Guys");一个函数总是占用一定的连续内存空间,函数名就是该函数所占内存的首地址。

9、我们可以将这个地址赋值给一个变量,通过这个变量找这个函数,把这个指针叫函数指针。

10、定义形式为:被指函数返回值类型 (*指针变量名)();就是指向函数的指针。

11、其值是某一类特定函数在内存中的首地址。

12、指向函数的指针,比如:int (*f)(int),这个是一个返回值是int,有一个int型参数的函数指针。

13、如果有这样的函数:int test(int x){ printf("test d%",x);}int main(){ int (*f)(int); f=test; f(5);}输出为:test 5。

本文到此分享完毕,希望对大家有所帮助。


版权说明: 本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。


标签:




热点推荐
热评文章
随机文章