Which is a good argument for NOT using one letter variable names.
It doesn't matter if the variable name is "a" or "antidisestablishmentarianismInitiator", the scope (pardon the pun) for confusion is still there: extern int antidisestablishmentarianismInitiator = 12; in one file and extern int antidisestablishmentarianismInitiator = 11; in another is going to confuse. Only the implicit global should be initialised.