Global objects also have distinct declarative and definitive forms. A definition may be accompanied by an initialiser, e.g.:
int globval = 34; /* initialized */ int another; /* initialized with 0 */
…while a declaration should not have an initialiser,
and should be preceded by extern
:
extern int globval; extern int another;
(extern
can also
appear before a function declaration, but it is
optional.)