【问题标题】:What does this cast do?这个演员有什么作用?
【发布时间】:2014-08-12 01:30:42
【问题描述】:

当我看到这个演员表时,我正在查看一些微控制器的代码:
(void (*) (void))ROM_FPUTABLE[8]
我想知道它实际上做了什么。有什么想法吗?

【问题讨论】:

  • 它将函数指针转换为特定的函数原型。
  • 好的,你是怎么得出这个结论的? p.s.:如果写成(void *(void))会不会更清楚?或者这是不同的演员阵容?
  • void (*) (void) 显然是指向不返回任何参数且没有参数的函数的指针。顺便说一句:您在表达式末尾省略了右大括号。
  • cdecl.org尝试一下。

标签: c casting function-pointers


【解决方案1】:

void (*) (void) 指定一个指向函数的指针,该函数不返回任何内容,也不接受任何参数。

因此,(void (*) (void)) 将某些内容转换为指向函数的指针,该函数不返回任何内容,也不接受任何参数。

【讨论】:

    猜你喜欢
    • 2023-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-20
    • 2015-10-23
    • 2021-03-07
    相关资源
    最近更新 更多