#この記事の動作環境: Windows10 システム、c11、thinkpad t480 コンピューター。 関連する推奨事項:エラーです。C 言語では、コメント部分はプログラムの実行結果には影響しません。プログラム内のどこにでも記述できます。 C言語のコメントには、「/*」で始まり「*/」で終わるブロックコメントと、「//」で始まり改行文字で終わる単行コメントの2種類があります。
C 言語でのコメント
C 言語ソースを作成するときコードを理解するために、より多くのコメントを使用する必要があります。 C 言語には 2 つのコメント メソッドがあります:int open( const char *name, int mode, … /* int permissions */ );
const double pi = 3.1415926536; // pi是—个常量
コメントの位置
C 言語では、コメント部分はプログラムの実行結果に影響を与えず、プログラム内のどこに記述しても問題ありません。 例:int/*....*/i; //正确 char* s="abcdefgh //hijklmn"; //正确 in/*...*/ti; //错误注释会被空格替换 //注意: /*...*/不能嵌套 ,/*总是与离他最近的*/匹配 y=x/*p // 该语句由于没有找到*/ 会报错 //要实现以上功能 可以用y=x/(*p)或y=x/ *p代替
コメントの仕様
2-1: 通常の状況では、ソースプログラム内の有効なコメントの量は、 20%。 注: コメントの原則は、プログラムの読みやすさと理解を助けることです。コメントは必要に応じて追加する必要があります。コメントは多すぎても少なすぎてもいけません。コメントの言語は正確で、理解しやすいものである必要があります。 、そして簡潔です。 2-2: ファイルヘッダーにはコメントを付ける必要があり、コメントには著作権表示、バージョン番号、生成日、作成者、内容、機能、変更ログなどをリストする必要があります。 例: 以下のヘッダファイルのヘッダコメントは比較的標準的ですが、もちろんこの形式に限定されるものではありませんが、上記の情報を含めることを推奨します。/***************************************************************************** Copyright: 1988-1999, Huawei Tech. Co., Ltd. File name: 文件名 Description: 用于详细说明此程序文件完成的主要功能,与其他模块或函数的接口,输出值、取值范围、含义及参数间的控制、顺序、独立或依赖等关系 Author: 作者 Version: 版本 Date: 完成日期 History: 修改历史记录列表, 每条修改记录应包括修改日期、修改者及修改内容简述。 *****************************************************************************/
/************************************************* Function: // 函数名称 Description: // 函数功能、性能等的描述 Calls: // 被本函数调用的函数清单 Called By: // 调用本函数的函数清单 Table Accessed: // 被访问的表(此项仅对于牵扯到数据库操作的程序) Table Updated: // 被修改的表(此项仅对于牵扯到数据库操作的程序) Input: // 输入参数说明,包括每个参数的作// 用、取值说明及参数间关系。 Output: // 对输出参数的说明。 Return: // 函数返回值的说明 Others: // 其它说明 ********************************************/
/* get replicate sub system index and net indicator */ repssn_ind = ssn_data[index].repssn_index; repssn_ni = ssn_data[index].ni;
repssn_ind = ssn_data[index].repssn_index; repssn_ni = ssn_data[index].ni; /* get replicate sub system index and net indicator */
/* get replicate sub system index and net indicator */ repssn_ind = ssn_data[index].repssn_index; repssn_ni = ssn_data[index].ni;
/* active statistic task number */ #define MAX_ACT_TASK_NUMBER 1000 #define MAX_ACT_TASK_NUMBER 1000 /* active statistic task number */
/* sccp interface with sccp user primitive message name */ enum SCCP_USER_PRIMITIVE { N_UNITDATA_IND, /* sccp notify sccp user unit data come */ N_NOTICE_IND, /* sccp notify user the No.7 network can not */ /* transmission this message */ N_UNITDATA_REQ, /* sccp user’s unit data transmission request */ };
/* The ErrorCode when SCCP translate */ /* Global Title failure, as follows */ // 变量作用、含义 /* 0 - SUCCESS 1 - GT Table error */ /* 2 - GT error Others - no use */ // 变量取值范围 /* only function SCCPTranslate() in */ /* this modual can modify it, and other */ /* module can visit it through call */ /* the function GetGTTransErrorCode() */ // 使用方法 BYTE g_GTTranErrorCode;
void example_fun( void ) { /* code one comments */ CodeBlock One /* code two comments */ CodeBlock Two }
void example_fun( void ) { /* code one comments */ CodeBlock One /* code two comments */ CodeBlock Two }
说明:注释的目的是解释代码的目的、功能和采用的方法,提供代码以外的信息,帮助读者理解代码,防止没必要的重复注释信息。
示例:如下注释意义不大。
/* if receive_flag is TRUE */ if (receive_flag)
而如下的注释则给出了额外有用的信息。
/* if mtp receive a message from links */ if (receive_flag)
2-14:在程序块的结束行右方加注释标记,以表明某程序块的结束。
说明:当代码段较长,特别是多重嵌套时,这样做可以使代码更清晰,更便于阅读。示例:参见如下例子。
if (…) { // program code while (index < MAX_INDEX) { // program code } /* end of while (index < MAX_INDEX) */ // 指明该条while 语句结束 } /* end of if (…)*/ // 指明是哪条if 语句结束
2-15:注释格式尽量统一,建议使用“/*…… */”。
2-16:注释应考虑程序易读及外观排版的因素,使用的语言若是中、英兼有的,建议多使用中文,除非能用非常流利准确的英文表达。
说明:注释语言不统一,影响程序易读性和外观排版,出于对维护人员的考虑,建议使用中文。
更多编程相关知识,请访问:编程教学!!
以上がC プログラムでは、コメント ステートメントはステートメントの後にのみ配置できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。