[英]Using C ampersand with or without brackets
我們有兩行代碼:
&car->speed
&(car->speed)
speed
嗎? 這兩條線是否相同? 我會在兩種情況下都能達到速度嗎?
是。 ->
具有比一元&
更高的優先級,因此&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.