What does the extern keyword mean?

dontWatchMyProfile picture dontWatchMyProfile · May 2, 2010 · Viewed 42.9k times · Source

What does the extern keyword mean? I've seen that in front of an function declaration like

extern void DoFoo ...

Answer

Romain Hippeau picture Romain Hippeau · May 2, 2010

The extern keyword declares a variable or function and specifies that it has external linkage (its name is visible from files other than the one in which it's defined). When modifying a variable, extern specifies that the variable has static duration (it is allocated when the program begins and deallocated when the program ends). The variable or function may be defined in another source file, or later in the same file. Declarations of variables and functions at file scope are external by default.

You can find a more complete description here.