gpt4 book ai didi

复杂声明

转载 作者:行者123 更新时间:2023-12-03 08:09:55 27 4
gpt4 key购买 nike

我们如何解释以下声明:

char (*(*f())[])();

如何开发一种方便的技术来读取 C 中如此复杂甚至更复杂的声明。如果您使用快速技巧,请分享。

最佳答案

确实有一个不太为人所知的技巧。假设f是一个变量名,*()[]是你可以做的操作在上面。使用 C 运算符的优先级规则来证明:

f

可以应用

f()

然后取消引用

*f()

然后下标

(*f())[]

然后取消引用

*(*f())[]

然后应用

(*(*f())[])()

给一个char

char (*(*f())[])()

所以 f 是一个返回指针的函数,该指针指向指向返回 char 的函数的指针数组。

关于复杂声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7085893/

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