C高手进来看看啊

来源:百度知道 编辑:UC知道 时间:2024/06/07 14:58:10
一个有10个指针的数组,指针指向一个函数,该函数有一个整型参数并返回一个整型数,应该如何定义?
能否写成一个定义的形式呢?

是这个样子的:
int (*pFunction[10])(int)

int hanshu(int);
int * p[10];
p[0]=&hanshu(a);

hanshu(a)得到的假设是b,对b取地址给p[0]就可以了,其他的类似

danycive 说的好像有点问题,作者说的是"指针指向一个函数"而不是指向函数求得的一个临时变量的值.

应该是:
int hanshu(int);
int *p[10];
p[0]=hanshu;
-----------------

原来你是想要函数指针数组啊.我刚才写的有问题,改成:
int (*fun[10])(int);
这是一个声明,你还要有相应的函数给数组赋值才能完成定义,比如:
fun[0]=hanshu;

应该没有办法定义,因为函数指针是不能定义为一个数组的;

楼上的也不对呀;“p[0]=hanshu; ”,把函数指针赋予一个指向 int 的指针,类型不匹配;

呵呵,楼上楼下都对;

typedef int(*Fp)(int);

int fun(int i);

Fp p[10];
p[0] = fun;