gpt4 book ai didi

c - 在命令行参数中使用螺旋规则

转载 作者:行者123 更新时间:2023-12-02 19:42:07 25 4
gpt4 key购买 nike

下面的声明有什么区别?

char *argv[];

char *(argv[]);

我认为根据螺旋法则,这是相同的。

最佳答案

正如所写,括号没有区别。

所谓的螺旋规则源于 C 语法的这个简单事实:后缀运算符,例如 ()[]* 等一元运算符具有更高的优先级,所以像 *f() 这样的表达式和*a[]被解析为 *(f())*(a[])

因此给出一个相对复杂的表达式,例如

*(*(*foo)())[N]

它解析为

     foo            -- foo
(*foo) -- is a pointer (parens force grouping)
(*foo)() -- to a function
(*(*foo)()) -- returning a pointer (parens force grouping again)
(*(*foo)())[N] -- to an array
*(*(*foo)())[N] -- of pointer

关于c - 在命令行参数中使用螺旋规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7487118/

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