Why can I define a variable twice in C?
Outside of any function, int x; is a tentative definition, and some compilers and linkers treat them as a sort of “cooperative definition,” where an identifier can be declared this way in multiple files and will result in defining only one object. C’s rules for external declarations (declarations outside of functions) are a bit complicated … Read more