Hacker News new | ask | show | jobs
by caf 3410 days ago
Yes, in C a plain

  int i;
at file scope is a tentative definition - if, by the end of the compilation unit, no definition has been seen, one of them will become a definition, otherwise it is just a declaration.

On the other hand, this:

  int i = 0;
is a definition, and you can't have two of those.