曲径通幽论坛

标题: 函数指针的数组 [打印本页]

作者: beyes    时间: 2009-10-18 21:52
标题: 函数指针的数组
函数指针的数组,表示数组里面存放的是函数的指针。比如有下面的定义:

int (*array[]) (int)

解读

从里往外看,array[] 标名 array 是个数组,这个数组中的元素是指针( *array[] ) ,而这个指针类型是一个指向一个有着一个 int 类型参数,且返回值是 int 型的函数 ( int (int) ) 。

应用举例
#include <stdio.h>

int func_1 (int val)
{
        return (val + 1);
}

int func_2 (int val)
{
        return (val + 2);
}


int main ()
{
        int (*array [5]) (int);

        array [0] = func_1;
        array [1] = func_2;

        printf ("%d\n", (array [0])(7));
        printf ("%d\n", (array [1])(8));

        return (0);
}

运行与输出
[beyes@localhost programming]$ ./temp.exe
8
10





欢迎光临 曲径通幽论坛 (http://www.groad.net/bbs/) Powered by Discuz! X3.2