The statement is one statement. It's not even a compound statement. Arbitrarily dividing it in two and saying one part has no bearing on the other is silly.
I regret that you are unable to understand that any statement can consist from several parts.
The statement says two things. The first that each name
(do you understand what means each name
?) that begins with an underscore is reserved. Or will you say that the statement does not say this?:)
Further, what is name in this context? It is an identifier. So trhe phrase says that each identifier that begins with an underscore is reserved.
So you can list all identifiers in your program. For example
123c, (a bad identifier, the compiler will issue an error)
So for example your program has these four identifiers (names). The Standard says that name _d is reserved by the implementation The Standard says nothing where you are using this identifier. It is unimportant where you are using it. Otherwise the standard will say that for example that names, declared
in the global namespace and begin with an underscore are reserved.
The standard simply says that identifiers that begin with underscore are reserved. And then the prase explains for which purpose the implementation reserves such names. It reserves such names for using
in the global namespace.
So the phrase consists from two parts
. It says 1)
what identifiers are reserved and 2)
for which using by the implementation they are reserved.