zoukankan      html  css  js  c++  java
  • ISO/IEC 9899:2011 条款6.9——外部定义

    6.9 外部定义

    语法

    1、translation-unit:

            external-declaration

            translation-unit    external-declaration

        external-declaration:

            function-definition

            declaration

    约束

    2、存储类说明符autoregister不应该出现在一个外部声明中的声明说明符中。

    3、在一个翻译单元中,每个标识符不应该有多于一个外部定义。此外,如果用内部连接声明的一个标识符用在一个表达式中(而不是作为sizeof_Alignof操作符的操作数的一部分,其结果是一个整数常量),在翻译单元中,对标识符应该恰好有一个外部定义。

    语义

    4、正如在5.1.1.1中所讨论的,在预处理之后的程序文本单元是一个翻译单元,它由一系列的外部声明组成。这些被描述为“外部”,因为它们在任一函数的外部出现(并从而具有文件作用域)。正如在6.7中所讨论的,一个声明也使得为一个通过该标识符来命名的对象或函数所保留的存储,是一个定义。

    5、一个外部定义是一个外部声明,它也是一个函数或对象的一个定义(除了一个内联定义)。如果一个用外部连接声明的一个标识符用在一个表达式中(而不是作为一个sizeof_Alignof操作符的操作数的一部分,其结果是一个整数常量),那么在整个程序中的某个地方,应该对于该标识符恰好有一个外部定义;否则,不应该有对于一个外部定义。[注:从而,如果用外部连接声明的一个标识符没有用在一个表达式中,那么对它不需要有外部定义。]

    6.9.1 函数定义

    6.9.2 外部对象定义

  • 相关阅读:
    河北金力集团公文流转系统
    输出《Harry Potter and the Sorcerer's Stone》英文i的字母数量并排序
    四则运算自动出题系统
    输出《Harry Potter and the Sorcerer's Stone》文本中的前N个最长用的英文单词及其数量
    《程序员的修炼之道从小工到专家》第二章阅读有感
    异常处理动手动脑
    poj 1860
    poj 2182
    poj 2253
    poj 2001
  • 原文地址:https://www.cnblogs.com/zenny-chen/p/5120067.html
Copyright © 2011-2022 走看看