For explanation, look here:
http://en.wikipedia.org/wiki/External_variable[
^].
For a sample, locate the section "Example (C programming language)"; file1 — definition; file2 — declaration. Usually declaration is used in *.h file, so there are many repetitions of the text of the same declaration in the same project, but the definition should be only one (otherwise the symbolic linker won't be able to resolve which one to use), so the definition is placed only once in some *.C file.
—SA