Comments (C language) – C 中文开发手册

[

  •   C 语言中文开发手册

    Comments (C language) - C 中文开发手册
    评论可以作为一种内部代码文档。当插入到程序中时,它们被编译器有效地忽略; 它们仅仅是用来作为阅读源代码的人的笔记。

    句法

    /* comment */ (1)
    // comment\n (2) (since C99)

    1)通常被称为“C型”或“多线”评论。 2)通常被称为“C ++风格”或“单行”的评论。在翻译阶段3通过用一个空格字符替换每个评论来从程序中删除所有评论。

    C-风格

    C 风格的评论通常用于评论大块文本或小部分代码; 但是,它们可以用来评论单行。要将文本插入为C风格的评论,只需使用/*和环绕文本即可*/。C风格的注释告诉编译器忽略/*和之间的所有内容*/。虽然它不是 C 标准的一部分,/**并且*/通常用于指示文档块; 这是合法的,因为第二个星号被简单地视为评论的一部分。除了字符常量,字符串文字或注释之外,这些字符会/*引入注释。这种评论的内容仅用于识别多字节字符并查找*/终止评论的字符。C风格的评论不能嵌套。

    C ++风格的C ++风格的评论通常用于评论单行文本或代码; 但是,它们可以放在一起形成多行评论。要将文本作为C ++样式的注释插入,只需在文本前面加上//,然后按照新的行字符跟随文本。C ++风格的注释告诉编译器忽略//和新行之间的所有内容。除了字符常量,字符串文字或注释之外,字符//会引入一个注释,其中包含所有多字节字符,但不包括下一个换行符。这种注释的内容仅用于识别多字节字符并查找终止注释的换行符。C ++风格的注释可以嵌套:// y = f(x); //调用算法C风格的注释可能出现在C ++风格的注释中:// y = f(x); / *调用算法* / C风格的注释可能出现在C风格的注释中; 这是排除一小块源代码的机制:/ * y = f(x); //调用算法z = g(x); * / (自C99以来)

    注意

    因为在预处理器阶段之前删除了注释,所以不能使用宏来形成注释,并且未终结的 C 样式注释不会从#include 的文件溢出。

    /* An attempt to use a macro to form a comment. */
    /* But, a space replaces characters "//".       */
    #ifndef DEBUG
        #define PRINTF //
    #else
        #define PRINTF printf
    #endif
    ...  
    PRINTF("Error in file %s at line %i\n", __FILE__, __LINE__);

    除了注释外,用于源代码排除的其他机制还有:

    #if 0
        puts("this will not be compiled");
        /* no conflict with C-style comments */
        // no conflict with C++-style comments
    #endif
    if(0) {
        puts("this will be compiled but not be executed");
        /* no conflict with C-style comments */
        // no conflict with C++-style comments
    }

    在 C99中引入//注释在一些罕见的情况下是一个突破性的改变:

    a = b //*divisor:*/ c
    + d; /* C89 compiles a = b / c + d;
            C99 compiles a = b + d; */

    /*
    C-style comments can contain
    multiple lines.
    */
    
    /* Or, just one line. */
    
    // C++-style comments can comment one line.
    
    // Or, they can
    // be strung together.
    
    int main(void)
    {
      // The below code won't be run
      // return 1;
    
      // The below code will be run
      return 0;
    }

    参考

    C11 standard (ISO/IEC 9899:2011): 6.4.9 Comments (p: 75) C99 standard (ISO/IEC 9899:1999): 6.4.9 Comments (p: 66) C89/C90 standard (ISO/IEC 9899:1990): 3.1.9 Comments

  •   C 语言中文开发手册

    ]

    转载请保留页面地址:https://www.breakyizhan.com/c-3/27059.html

    原文链接: https://www.cnblogs.com/breakyizhan/p/13263495.html

    欢迎关注

    微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

    也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

      Comments (C language) – C 中文开发手册

    原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/363348

    非原创文章文中已经注明原地址,如有侵权,联系删除

    关注公众号【高性能架构探索】,第一时间获取最新文章

    转载文章受原作者版权保护。转载请注明原作者出处!

    (0)
    上一篇 2023年3月2日 下午2:53
    下一篇 2023年3月2日 下午2:54

    相关推荐