返回值为函数指针的函数

 

函数指针:指向函数的指针

例如:void *p(int,int); //p是一个指针,可以指向一个返回值为void类型,参数为两个int类型的函数。

           int *(*q)(char); //q是一个指针,指向一个返回值类型为int指针类型,参数为char类型的函数。

 

图中为返回值为函数指针的函数

首先它是一个函数:函数名为signal,参数类型是int类型和函数指针类型。

它的返回值为函数指针,该返回值可以指向一个返回值为void类型,参数为int类型的函数。(最左边的void和最右边的int都是用来表达它的返回值类型的)

 

  • 6
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 如果函数没有返回值,那么函数指针的类型应该声明为 `void (*func_ptr)()`。然后,你可以通过以下方式来调用函数指针: ```c void func() { printf("Hello, world!"); } int main() { void (*func_ptr)() = func; // 将函数指针指向 func 函数 (*func_ptr)(); // 调用函数指针,输出 "Hello, world!" return 0; } ``` 在上面的代码中,我们首先定义了一个没有返回值函数 `func`,然后声明了一个函数指针 `func_ptr`,指向 `func` 函数。最后,通过对函数指针进行解引用和调用,我们成功地调用了 `func` 函数。 ### 回答2: 没有返回值函数,通过函数指针调用的方法如下: 首先,我们需要声明一个函数指针,指向对应的函数。例如,假设我们有一个没有返回值函数如下: ```c++ void sayHello() { cout << "Hello!" << endl; } ``` 然后,我们可以声明一个函数指针变量,将其指向该函数: ```c++ void (*functionPtr)() = sayHello; ``` 接着,我们可以通过函数指针调用该函数,使用以下格式: ```c++ functionPtr(); ``` 这样就可以执行函数体内的代码,输出 "Hello!"。 除此之外,我们还可以将函数指针作为参数传递给其他函数,使其具有更大的灵活性。 总结起来,没有返回值函数通过函数指针调用,需要先声明一个指向对应函数函数指针变量,然后通过该函数指针变量来调用函数。 ### 回答3: 没有返回值函数,通过函数指针调用的方法如下所示: 函数指针是指向函数的指针变量,它可以储存函数的地址,通过函数指针可以调用对应的函数。 首先,我们需要定义一个与原函数具有相同参数列表和返回类型的函数指针变量。例如,如果原函数没有返回值且没有参数,则可以定义一个函数指针如下: ```c++ void (*funcPtr)(); ``` 接下来,我们需要将函数的地址赋给函数指针变量。例如,假设原函数名为func,则可以将其地址赋给函数指针变量funcPtr,可以使用以下语句进行赋值: ```c++ funcPtr = &func; ``` 当我们需要调用没有返回值函数时,可以通过函数指针来调用。例如,可以使用以下语句调用func函数: ```c++ (*funcPtr)(); ``` 或者简写为: ```c++ funcPtr(); ``` 这样,通过函数指针调用没有返回值函数就可以实现。函数指针提供了一种灵活的方式来动态调用不同的函数,可以根据需要在运行时确定要调用的函数

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值