打开Postgres代码库,我看到很多C代码是通过使用 - >表示法指针编写的,其方式如下:
(foo)->next = 5;
Run Code Online (Sandbox Code Playgroud)
我知道指针符号具有优先级,例如 - > =(*foo).并且与*foo不同.
但是,当括号在变量名之外并且取消引用next的地址或者它只是编码风格特有的约定时,它是否意味着什么?
它是我以前从未见过的编码约定.
但它没有改变任何东西.
(foo)->next = 5;
Run Code Online (Sandbox Code Playgroud)
完全等同于
foo->next = 5;
Run Code Online (Sandbox Code Playgroud)