Is &(&z) ever legal in C?
please give an example, i'm having a hard time understanding this.

No, it's absolutely illegal expression (or illegal declarator).
The operator & needs lvalue argument but returns so called rvalue (of right part). In other words, the argument of operator & must be a function or an object in memory but it returns a value (not an object or a function). A value has not any address, it's impossible to get a pointer to a value. It's the same as you try to get &1 or &0.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.