为什么以及如何解除引用函数指针只是"什么都不做"?
这就是我所说的:
#include<stdio.h>
void hello() { printf("hello"); }
int main(void) {
(*****hello)();
}
Run Code Online (Sandbox Code Playgroud)
来自这里的评论:
函数指针解除引用就好了,但生成的函数指示符会立即转换回函数指针
从这里的答案:
解除引用(以你认为的方式)函数的指针意味着:访问CODE内存,因为它将是一个DATA内存.
不应该以这种方式取消引用函数指针.相反,它被称为.
我会使用"dereference"这个名字与"call"并排使用.没关系.
无论如何:C的设计方式是函数名称标识符和变量保持函数的指针都是相同的:地址到CODE内存.它允许通过在标识符或变量上使用call()语法来跳转到该内存.
如何准确地不提领一个函数指针的工作?