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;