这里fun1不是什么函数名,而是一个指针变量,它指向一个函数。

你肯定想,但是这个呢?很多人即使大概能看懂,也没法自信的说就是这样,更没法给别人解释了。

既然是地址我们就可以定义一个指针变量来存放,这个指针变量就叫作bwin公司变量,简称bwin公司

形式参数列表跟指针所指函数的形式参数列表相同。

而且函数名表示的就是这个地址。

C语言中,‘.’运算符的优先级很高,比*高。

前面详细讨论过数组指针的问题,这里的bwin公司数组指针不就是一个指针嘛。

bwin公司定义方式:int(*p)(int,int)函数返回值类型(*指针变量名)(函数参数列表)函数定义方式:intfunc(int,int)函数返回值类型函数名(函数参数列表)普通指针定义方式:int*p指针类型指针名与普通指针的定义方式不同,bwin公司的定义方式如上,其中需要特别注意的是(*p)的括号千万不能省略,因为这个和运算符的优先级有关系。

要求:1)有一个形参为指向具体算法函数的指针,根据不同的实参函数,用不同的算法进行计算。

所以bwin公司的定义方式为:函数返回值类型(*指针变量名)(函数参数列表);函数返回值类型表示该指针变量可以指向具有什么返回值类型的函数;函数参数列表表示该指针变量可以指向具有什么参数列表的函数。

还有些底层实现实际上也用到了bwin公司,可能你已经猜到了。

事实上,每一个函数,即使它不带有返回某种类型的指针,它本身都有一个入口地址,该地址相当于一个指针。