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

句法

/* 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语言注释中文,Comments(注释符)相关推荐

  1. c语言注释的开始标记符和结束标记符分别为,C语言程序设计填空题

    C语言程序设计填空题Tag内容描述: 1.面向对象程序设计期末综合练习二 填空题 填空题 1 C 语言是在 语言的基础上发展起来的 2 C 语言的编译单位是扩展名为 的 文件 3 行尾使用注释的开始标 ...

  2. oracle - - 注释符,Oracle数据库扩展语言PL/SQL之注释、分隔符和标识符

    点击蓝字关注我吧 [本文详细介绍了Oracle数据库扩展语言PL/SQL的注释.分隔符和标识符,欢迎读者朋友们阅读.转发和收藏!] 1 基本概念 1.1 注释 注释不会被数据库编译,只是给开发人提供一 ...

  3. C语言编程规范--------2 注释

    2.1 注释的原则 注释的目的是解释代码的目的.功能和采用的方法,提供代码以外的信息,帮助读者理解代码,防止没必要的重复注释信息. 示例:如下注释意义不大. /* if receive_flag is ...

  4. c语言注释符号 井号,读c语言深度剖析 -- 符号 注释符号

    标准C语言的基本符号 ,逗号  >右尖括号  . 圆点 !感叹号   :分号   | 竖线   :冒号  /斜杠   ?问号  \反斜杠 '单引号  ~波折号  "双引号  #井号   ...

  5. Java8(jdk1.8)中文档注释处理工具javadoc的环境参量配置及使用方法

    Java8(jdk1.8)中文档注释处理工具javadoc的环境参量配置及使用方法 Java语言提供了一种功能强大的注释形式:文档注释.如果编写Java源代码时添加了合适的文档注释,然后通过JDK提供 ...

  6. python中文解释-python注释中文

    广告关闭 2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品.未来,我们一起乘风破浪,创造无限可能. 4.python代码注释最后更新于:2019-10-05 14:25:4 ...

  7. C语言基础1:初识C语言(转义、注释;数组、操作符、反码、补码、static、define、指针、结构体常变量;局部变量;作用域、生命周期)

    文章目录 C语言基础1:初识C语言 1.C语言简介 1.1什么是C语言 1.2C语言的发展 2.第一个C语言程序 2.1创建项目 2.2添加源文件 2.3写代码 3.数据类型 4.变量.常量 4.1定 ...

  8. c语言注释两种,C语言有几种注释方式

    C语言有两种注释方式,一种是以/*开始,以*/结束的块注释:另一种是以//开始,以换行符结束的单行注释.具体使用方法如:[const double pi = 3.1415926536; // pi是- ...

  9. 利用有穷自动机去除C语言代码行注释(//)以及块注释(/* */)

    一. 程序设计题目与说明 利用有穷自动机去除C语言代码行注释(//)以及块注释(/* */) 该有穷自动机的状态转换图如下: 二. 核心代码(或全部代码) #include<stdio.h> ...

  10. Less实战(五):函数(Functions)+ 注释(Comments)+ 导入(Importing)

    文章目录 函数(Functions) 注释(Comments) 导入(Importing) 函数(Functions) 因为函数实在太多了,一个一个写出来还记不住,没得多大意义,这里笔者只做简单举例, ...

最新文章

  1. 机器学习:如何用相关性实现特征选择?
  2. fiddler安装_Fiddler的安装和APP抓包
  3. mysql建表时建外键约束_数据库建表时一定要设置外键约束关系吗?
  4. 羡慕的泪水!显卡对决!GPU A6000和RTX 3090 性能对比
  5. 超越 PyTorch,他立志做全球最有影响力的深度学习框架!
  6. mysql 重置密码 win_window下重置mysql用户密码
  7. 设计模式之十五:訪问者模式(Visitor Pattern)
  8. install glm library in ubuntu and use it in qt
  9. 算法:回溯十七 Combination Sum III挑选数组中规定个数元素的和为指定数
  10. 数值计算方法第一章—数值计算引论
  11. 2.4G信道跳频-LFSR-C代码实现
  12. c 开发android原生程序,Android原生开发极简教程
  13. #基本概念# 随机试验 / 样本空间 / 随机变量
  14. 电脑手机生产力提升操作
  15. 福建农林大学计算机与信息学院副书记,福建农林大学计算机与信息学院导师介绍:钟一文...
  16. Creator打android包时报Could not resolve all files for configuration ':jcore-react-native:lintClassPath'异
  17. Virtual Box 后台运行虚拟机
  18. 五分钟学Java:为什么会发生ArrayIndexOutOfBoundsException?
  19. 弹钢琴flash游戏
  20. win7开机登录界面的壁纸怎样更换修改

热门文章

  1. 【毕业设计/课程设计】企业员工绩效考评APP的设计与实现
  2. 不同时期的项目变更控制流程
  3. 智能睡眠监测带扣案列/APP/小程序/网站
  4. python忽略错误继续执行_python能在错误出现之后再进行处理吗?
  5. 如何给电脑做磁盘分区
  6. 3dmax 模型导出单位设置问题
  7. 【软件设计】软件设计基础方法(含软件设计步骤流程)
  8. uk码对照表_36码(uk码和中国码对照表)
  9. R语言实现单变量分析教程
  10. PayPal(大陆、美国、英国)如何提现到国内教程详解