In general, there is a subtle difference between a definition of a variable and a declaration of a variable.
DataType Varname ;
int x; double y;
extern DataType Varname ;
extern int x; extern double y;
In other words:
Therefore: