首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

哪位高手能解释一下这道题是什么意思?小弟我有几行代码看不明白~比如说正数第六行~

2012-02-08 
谁能解释一下这道题是什么意思?我有几行代码看不明白~~比如说正数第六行~~funa(inta,intb){returna+b}fun

谁能解释一下这道题是什么意思?我有几行代码看不明白~~比如说正数第六行~~
funa(int   a,int   b)
{return   a+b;}
funb(int   a,int   b)
{return   a-b;}
sub(int(*t)(),int   x,int   y)
{return(*t)(x,y);}
main()
{int   x,(*p)(int,int);
p=funa;
x=sub(p,9,3);
x+=sub(funb,8,3);
printf( "%d\n ",x);
}

[解决办法]
函数指针而已。看看相关的资料就可以了。

,“函数指针”是指向函数的指针变量,因而“函数指针”本身首先应是指针变量,只不过该指针变量指向函数。这正如用指针变量可指向整型变量、字符型、数组一样,这里是指向函数。如前所述,C在编译时,每一个函数都有一个入口地址,该入口地址就是函数指针所指向的地址。有了指向函数的指针变量后,可用该指针变量调用函数,就如同用指针变量可引用其他类型变量一样,在这些概念上一致的。函数指针有两个用途:调用函数和做函数的参数。函数指针的说明方法为:
数据类型标志符 (*指针变量名)(参数);注:函数括号中的参数可有可无,&|[m#网理Vj#`BjbWwj视情况而定。

[解决办法]
int(*t)(),
(*p)(int,int),
这里的t和p都为函数指针。
在sub(int(*t)(),int x,int y)里可以实现传进函数指针和x,y值实现调用不同的函数对x,y进行操作。

热点排行