Team LiB   Previous Section   Next Section
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

    Team LiB   Previous Section   Next Section