C 语言中的注释
在 C 语言程序中使用注释可以提高代码的可读性。必须在代码的适当位置插入注释。对于编译器而言,注释会被忽略。在 C 语言中,注释是一行或多行文本,编译器在构建机器码时会跳过这些文本。
当程序需要修改时,C 语言中的注释起着重要作用,尤其是由原作者以外的其他人修改时。程序员通常不重视添加注释,但有效地使用注释对于提高代码质量至关重要。
为什么在 C 语言编程中使用注释?
任何编程语言,包括 C 语言,都比英语等人类语言简洁得多。 C 语言的关键字数量少得多,是最小的语言之一,只有 32 个关键字。因此,C 语言程序中的指令可能难以理解,尤其是对于没有编程背景的人来说。
C 语言语法也多种多样且复杂。程序员通常会尝试增加复杂性来优化代码。然而,这反而会使代码难以理解。 注释提供了有用的解释,并传达了使用特定方法背后的意图。
例如,以 C 语言中的 ?: 运算符为例,它是 if-else 语句 的快捷方式。
因此,以下代码并非如此 -
if (a % 2 == 0){ printf("%d is Even ", a); } else { printf("%d is Odd ", a); }
可以使用以下语句 -
(a % 2 == 0) ? printf("%d is Even ", a) : printf("%d is Odd ", a);
显然,第二种方法比第一种方法更复杂。如果添加有用的注释,可以更容易理解所用语句的意图和逻辑。
C 语言中的注释类型
C 语言中有两种类型的注释 -
- 单行注释
- 多行注释
C 语言中的单行注释
C++ 风格的单行注释在 C99 标准中被纳入 C 编译器。如果任何文本以 // 符号开头,则该行的其余部分将被视为注释。
代码中,后跟双斜杠或正斜杠 [//] 的文本将被视为单行注释。 C 编译器 在编译过程中会忽略 // 之后的所有文本。与多行注释或块注释不同,它无需关闭。
单行 C 注释的语法
//注释文本
// 符号可以出现在任何位置。它表示从该符号之后到行末的所有文本都是注释。编辑器中的后续行再次用于编写有效的 C 语句。
示例:C 语言中的单行注释
查看以下程序,并观察我们如何在其主函数中使用单行注释 -
/* 在线 C 编译器和编辑器 */ #include <stdio.h> #include <math.h> /* 函数的前向声明 */ float area_of_square(float); float area_of_square(float side){ float area = pow(side,2); return area; } // 主函数 - 整行注释 int main(){ // 变量声明(此注释位于 C 语句之后) float side = 5.50; float area = area_of_square(side); // 调用函数 printf ("Side = %5.2f Area = %5.2f", side, area); return 0; }
输出
运行此代码时,将产生以下输出 -
Side = 5.50 Area = 30.25
C 语言中的多行注释
在早期版本的 C 语言 (ANSI C) 中,在符号 /* 和 */ 之间插入的任何长度的文本都被视为注释。这些文本在代码文件中可以跨越多行。您可以称之为多行注释。一段连续的行被视为注释。
C 语言多行注释的语法
多行注释的一般结构如下 -
/* 注释从此处开始 第 1 行 第 2 行 .. .. 注释从此处结束*/
例如 −
/* 多行注释示例 使用 printf() 函数打印 Hello World */
显然,由于编译器会忽略注释,C 语言的语法规则不适用于注释文本。
注释可以出现在程序中的任何位置,例如顶部、代码之间,或者函数或结构体声明的开头等等。
示例:C 语言中的多行注释
在此示例中,我们有一个多行注释,用于解释给定代码中使用的特定用户定义函数的作用 −
/* 计算正方形面积的程序 */ /* 头文件 */ #include#include /* 函数的前置声明 */ float area_of_square(float); /* 主函数 */ int main(){ /* 变量声明 */ float side = 5.50; /* 调用函数 */ float area = area_of_square(side); printf("Side = %5.2f Area = %5.2f", side, area); return 0; } /* 用户定义函数来计算 正方形的面积。它以边长为参数, 并返回面积 */ float area_of_square(float side){ float area = pow(side, 2); return area; }
输出
执行代码时,将产生以下输出 -
Side = 5.50 Area = 30.25
插入注释时,必须确保每个以 /* 开头的注释都必须有对应的 */ 符号。如果注释以 /* 开头且未关闭,编译器将抛出错误。
注意: 块注释或多行注释必须放在 /* 和 */ 符号内,而单行注释以 // 符号开头,有效期至行末。
我们始终鼓励在程序中添加注释。程序员通常避免添加注释。然而,如果没有适当的注释,他们有时会发现很难调试和修改代码。注释在协作开发中尤为重要。有效地使用注释对团队的所有成员都有帮助。
即使编译器会忽略注释,它们也应该含义清晰、简洁。每当代码需要修改时,都应在注释中注明修改原因、时间戳和作者。