一口Linux

文章数:1381 被阅读:1965114

更多最新新闻
账号入驻

C 语言注释,实例讲解

最新更新时间:2024-05-28
    阅读数:

点击左上方蓝色“一口Linux”,选择“设为星标

作者: 生菜八分

双字符 /* 引入一条注释,除非它位于字符常量、字符串字面值或注释。一旦发现了这个标志着注释内容起始的符号后,后面的多字节字符将被逐个检查,直至找到标志注释内容结束的 */。

双字符 // 也会引入一条注释,除非它位于字符常量、字符串字面值或注释。一旦发现了这个标志着注释内容起始的符号后,后面的多字节字符将被逐个检查,直至换行符为止(注释内容不包含这个换行符)。

示例 1

/* 和 // 可以作为字符串字面值的一部分:

char *sl1 = "s/*l1";
char *sl2 = "s//l2";

示例 2

像下面这样写会导致未定义的行为:

#include "//some.h"

编译器可能会报告以下错误,然后终止。

fatal error: //some.h: 没有那个文件或目录
compilation terminated.

示例 3

下面一行是以 // 开始的一行注释,字符串 “*/” 是注释内容。

//*/

示例 4

/* 和 */ 可以嵌入到行内,不会对它们以外的内容产生影响。

double radius = D/*diameter*//2;

相当于:

double radius = D /2;

示例 5

如果由于相邻的反斜线(\)和回车符导致两行合并为一个逻辑行,并且反斜线前面是注释符号,那么这是一个两行的注释。例如:

//\
int i;

或者:

/\
/ int i;

相当于两行的:

//int i;

示例 6

如果 // 位于 /* 和 */ 之间,它们将作为注释内容而被忽略。

/*//*/ int i;

相当于:

 int i;

示例 7

// 后面的 /* 和 */ 将作为注释内容而被忽略。

int m = n//**/o
+ p;

相当于:

int m = n
+ p;

示例 8

下面的写法并不能构成注释,相反,这会导致语法错误。

#define glue(x,y)   x##y
glue(/,/) int k;

编译器会报告错误:

error: pasting "/" and "/" does not give a valid preprocessing token
glue(/,/) int k
;
^
note: in definition of macro ‘glue’
#define glue(x,y) x##y
^

end



一口Linux


关注,回复【 1024 】海量Linux资料赠送


精彩文章合集

文章推荐

【专辑】 ARM
【专辑】 粉丝问答
【专辑】 所有原创
专辑 linux 入门
专辑 计算机网络
专辑 Linux驱动


 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: TI培训

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved