函数名称作为函数指针:设计原理
在 C 中,使用函数名称作为函数指针相当于应用地址函数名称的运算符。这种行为可能看起来与语言的其他部分不一致,并引发了对其设计原理的质疑。
ANSI C90 原理文档提供了对此设计决策的见解:
(&f)(); // Explicit address-of operator f(); // Implicit conversion to function pointer (*f)(); // Deference of a function pointer (**f)(); // Deference twice (***f)(); // Deference three times
关于返回上下文中缺乏从函数类型到指针类型的隐式转换,解释在于“返回类型装饰。”在 C 中,函数返回类型是函数签名的一部分,不能修改。因此,函数不能隐式返回指向自身的指针。
以上是为什么 C 语言中函数名用作函数指针?的详细内容。更多信息请关注PHP中文网其他相关文章!