Ampersand and square brackets priority

c, c++, operator-precedence, operators

Solution

For sake of clarity. Not everyone has all the operator precedences memorized.

Problem

I see a lot of programmers using brackets around an expression, e.g. : ``` &(tab[i]) /* I use `&tab[i]`. */ ``` I think it isn't necessary, because the `[]` operator has a greater priority than `&` operator. So, why do they use brackets ?

Original source