当前位置: 首页 > 热点 > > 内容页

函数指针

时间:2023-04-15 08:44:58 来源:互联网 分享至:

函数指针这个很多人还不知道,现在让我们一起来看看吧!

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。

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

标签:

Copyright ©  2015-2022 南方财富网版权所有  备案号:粤ICP备18023326号-21   联系邮箱:855 729 8@qq.com