Ответ 1
Поведение, да, они эквивалентны, поскольку оператор доступа к члену ->
имеет более высокий приоритет, чем оператор address-of &
.
Считываемость, вторая &(s->var)
более читаема, чем &s->var
, и она должна быть предпочтительнее первой формы. Со второй формой &(s->var)
вам не нужно будет догадываться, что она на самом деле делает, поскольку вы знаете, что выражение в круглых скобках всегда оценивается в первую очередь. Если есть сомнения, используйте круглые скобки.