Global Variables
A global variable used in two or more files must be declared as extern in all but one of the files.
A value declared as extern cannot at the same time be initialized:
// top is declared and initialized in another file
Whenever possible, avoid the use of global variables.