簡體   English   中英

使用帶有或不帶支架的C&符號

[英]Using C ampersand with or without brackets

我們有兩行代碼:

&car->speed
&(car->speed)
  1. 這兩條線是否相同? 我會在兩種情況下都能達到speed嗎?
  2. 如果它們是等價的,那么最好選擇哪種編碼約定?

這兩條線是否相同? 我會在兩種情況下都能達到速度嗎?

是。 ->具有比一元&更高的優先級,因此&car->speed&(car->speed)是等效的。

如果它們是等價的,那么最好選擇哪種編碼約定?

使用秒,因為它顯示了您對speed地址感興趣的預期行為。

這個問題已在這里多次提出。 Postfix表達式運算符的優先級高於一元運算符。 所以這兩個表達方式

&car->speed
&(car->speed)

是等價的。

或者與其他一元運算符的另一個類似的例子!

!car->speed
!(car->speed)

至於編碼慣例,我更喜歡

&car->speed

如果你想單獨放大car ,請使用:

( &car )->speed

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM