函数指针

    函数指针是指向一个地址的指针,函数位于text segment。如何使用函数,有两种方法,第一种是通过函数名称去引用,编译器在转化为汇编代码过程中会把函数名称作为代码的label,通过label的引用,linking时候转化为具体引用地址。也可以在C代码中通过函数指针引用函数,即直接使用函数的地址来调用函数,函数指针在调用函数时为乐增强函数的可读性,要求把函数的参数类型和返回类型标记全面。

举个例子:

定义foo函数如下:

函数指针

因为my_int_func的函数类型是不返回(void)并且接受int类型的参数(intX),所以它的指针声明就要写清楚这个类型是void(*)(int),指针的变量名放在*后面,这样编译器在编译的时候才能通过。

那么现在可以使用foo变量调用这个函数:

函数指针