/* The extern keyword declares a variable or function and specifies that it has external linkage (its name is visible from files other than the one in which it's defined). When modifying a variable, extern specifies that the variable has static duration (it is allocated when the program begins and deallocated when the program ends). The variable or function may be defined in another source file, or later in the same file. In C++, when used with a string, extern specifies that the linkage conventions of another language are being used for the declarator */ extern int i; // int 'i' is not defined here. It is defined in 'main' as a global so it // can be assessed as an 'extern'. int reset(void) { return(i); }