extern storage class

extern storage class External storage class specifier

storage-class-specifier := extern

linkage-specification ::= extern string-literal { [declaration-seq] } | 

    extern string-literal declaration

The extern storage class specifier marks a declaration as having external linkage. An external object or function can be defined in one file and used in other files.

figs/acorn.gif

The extern keyword can also be used to specify language linkage: you provide the language name as a string literal. The "C++" language is the default. "C" linkage is also supported. Other languages are implementation-defined.

Example

extern "C" int callable_from_C(int x, int y);

extern void func(int);

extern const double pi;

See Also

declaration, static, type, Chapter 2