申明一个函数指针,并且该函数的返回值也是一个函数指针 -- 示例代码

来自interview的一个考题,所以写了一个测试程序来demonstrate一下。

func是一个函数指针,该函数返回值是int,没有输入参数;然后主程序中声明了一个函数指针myFuncPointer,该函数指针代表的函 数输入参数是一个int,返回值也是一个函数指针,类型就是func类型的。所以我们可以把func2这个函数赋给myFuncPointer这个指针。 interview的题目要的就是myFuncPointer这个指针的声明。

    #include <stdio.h>

    typedef 
int (*func)();

    
int func3()
    {
        printf(
"In function 3......\n");
        
return 0;
    }

    func func2(
int a)
    {
        printf(
"input parameter is: %d\n", a);
        
return func3;
    }


    
int main()
    {
        func (
*myFuncPointer)(int= func2;
        func returnvalue 
= myFuncPointer(1111);
        
int func3_return = returnvalue();
        printf(
"Func3 return value is: %d\n", func3_return);
        
return 0;
    }
posted @ 2011-03-26 10:23  super119  阅读(1031)  评论(0编辑  收藏  举报