Declarations and definitions
A declaration describes an identifier
in terms of its
type
and
storage duration.
The location of a declaration
(usually, relative to function blocks)
implicitly determines the
scope
of the identifier. A
function definition
includes the body of the function after
the declaration of the function.