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.