如果我有以下代码示例,
...
typedef void (*printer_t)(int);
int main()
{
printer_t p = &print_int;
p(5);
return 0;
}
为什么p(5);
和(*p)(5);
都输出打印5所需的行为?如果我有一个指向函数的指针,是否首先需要取消引用然后调用它,即(*p)(5);
是正确的行为?p(5);
如何通过尝试对内存地址位置使用调用操作而不导致错误?
为什么可以在不延迟的情况下调用函数指针?
因为标准说你可以。
是不是首先需要取消引用
不需要显式使用间接运算符