打开 Postgres 代码库,我看到很多 C 代码是通过使用 -> 符号的指针编写的,方式如下:
(foo)->next = 5;
我知道指针符号具有优先级,例如 -> = (*foo)。并且与 *foo 不同。
但是,当括号位于变量名称之外并取消引用 next 的地址时,这意味着什么,还是仅仅是一种编码风格特有的约定?
最佳答案
这是我以前从未见过的编码约定。
但这并没有改变任何东西。
(foo)->next = 5;
完全等同于
foo->next = 5;
关于C 和指针符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1469550/