您可以使用 /* 和 */ 分隔符来标记一行内的注释或多行上的注释。 例如,在下面的函数原型中,省略号表示 open() 函数有第三个参数,该参数是可选的。 注释解释了这个可选参数的用法:
int open( const char *name, int mode, … /* int permissions */ );
可以使用 // 插入整行注释,也可以将源代码写成两栏格式,左栏是程序,右栏是注释:
const double pi = 3.1415926536; // pi是—个常量
在C99标准中,单行注释被正式添加到C语言中,但大多数编译器在C99之前就开始支持这种用法。 有时它们被称为“C++风格”注释,但实际上它们源自BCPL,即C的前身。
在引号内,如果 /* 或 // 分隔字符常量或字符串文字 ( ),则它们不被视为注释的开头。 例如,以下语句没有注释:
printf("Comments in C begin with /* or //.\n" );
预处理器仅通过检查注释的终止符来检测注释中的字符; 因此,块注释不能嵌套。 但是,包含单行注释的源代码可以使用 /* 和 */ 进行注释:
/* 暂时注释掉这两行: const double pi = 3.1415926536; // pi是一个常量 area = pi * r * r; // 计算面积 暂时注释到此 */
如果要注释掉程序中包含块注释的部分,可以使用条件预处理命令:
#if 0 const double pi = 3.1415926536; /* pi是一个常量 */ area = pi * r * r ; /* 计算面积 */ #endif
预处理器用空格替换每个注释。 因此,min/*max*/Value 就变成了两个 token 的 min Value。