gpt4 book ai didi

c - 函数指针赋值

转载 作者:行者123 更新时间:2023-11-30 19:26:02 25 4
gpt4 key购买 nike

在下面的代码中,我有几个问题:

  1. 没有&符号的函数名如何给出函数的地址值?这是由于编译器智能吗?或者这是允许的 C 语法?

  2. 是否可以在任何变量声明中重用名称 fun ?是否应该进行任何链接器分解来实现此目的?

void fun(int a) 
{
printf("Value of a is %d\n", a);
}

int main()
{
void (*fun_ptr)(int) = fun;
fun_ptr(10);
return 0;
}

最佳答案

standard 中所述,由于函数到指针的转换,函数指针不需要使用 & :

void f(int);
void (*pf1)(int) = &f;
void (*pf2)(int) = f; // same as &f

关于c - 函数指针赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58056533/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com