6.9 external Definitions
Grammar
1,translation-unit:
external-declaration
Translation-unit external-declaration
external-declaration:
function-definition
Declaration
Constraints
2. Storage class specifier auto and register should not appear in the declaration descriptor of an external declaration.
3. In a translation unit, each identifier should not have more than one external definition. In addition, if an identifier declared with an inner join is used in an expression (rather than as part of the operand of the sizeof or _alignof operator, the result is an integer constant), in the translation Unit, The identifier should have exactly one external definition.
Semantic
4, as discussed in 5.1.1.1, the program text unit after preprocessing is a translation unit, which consists of a series of external declarations. These are described as "external" because they appear outside of any function (and thus have a file scope). As discussed in 6.7, a declaration also makes a definition of the storage reserved for an object or function that is named by the identifier.
5.
ISO/IEC 9,899:2011 clause 6.9--external definition