Static vs global
i
is not visible outside the module; j
is globally accessible.
That is, another module, which is linked to it, can do
extern int j;
and then be able to read and write the value in j
. The same other module cannot access i
, but could declare its own instance of it, even a global one—which is not visible to the first module.