文档介绍:C语言编码规范
(4条规则+6条建议)
C 程序文件通常分为两类文件:
一类文件用于保存程序的声明(declaration),称为头文件。头文件以“.h”为后缀。
另一类文件用于保存程序的实现(implementation),称为定义(definition)文件。定义文件以“.c”为后缀。对于简单的C语言程序,一般在把头文件和程序定义文件放在一起,。而对于复杂的程序,则多采用头文件包含的形式并通过多个定义文件实现。
版权和版本的声明
版权和版本的声明一般应该位于头文件和定义文件的开头(参见示例1-1),主要内容包括:
(1) 版权信息;
(2) 文件名称、文件标识、摘要;
(3) 当前版本号、作者/修改者、修改日期、修改描述等;
(4) 版本历史信息、原作者、完成日期等。
/*
* Copyright (c) 2008
* All rights reserved.
*
* 文件名称:
* 文件标识:根据软件工程设置
* 摘要:简要描述本文件的作用和内容等
*/
// 下面其它的声明代码
…
// 下面是原作者、版本、完成、日期和当前版本的信息
/* 当前版本:
* 作者:修改者名字,修改日期:2005年4月5日
* 修改的地方描述:
*/
/*
* 取代版本:
* 原作者:原作者名字,完成日期:2004年12月31日
*/
示例1-1 版权和版本的声明
版本标识:采用<主版本号>.<次版本号>.<修订号> 来命名自己产品的编号。一般这样约定,如果次版本号是偶数(如0、2、4等),代表正式版本,如果次版本号是奇数(如1、3、5等),代表开发过程中的测试版本。修订号则相当于Build号,用来标识一些小的改动。
头文件的结构
头文件由三部分内容组成:
(1)文件开头处的版权和版本声明(参见示例1-1);
(2)预处理块;
(3)声明函数原型和声明数据结构或变量等。
,头文件的结构参见示例1-2。
/*
* Copyright (c) 2008
* All rights reserved.
*
* 文件名称:
* 文件标识:根据软件工程设置
* 摘要:简要描述本文件的作用和内容等
*/
#include <>
#include <>
#include <> // 引用头文件
struct studentstruct {
int no;
char name[20];
char sex;
float score;
};
void GetValue() {}
void SetValue(int no) {}
示例1-2 C头文件结构
定义文件的结构
定义文件有三部分内容:
(1)定义文件开头处的版权和版本声明(参见示例1-1);
(2)对一些头文件的引用;
(3)程序的实现体(包括数据和代码)。
,定义文件的结构参见示例1-3
/* 版权和版本声明见示例1-1,此处省略。*/
#inlcude “”
#ifndef GRAPHICS_H // 被重复引用
#define GRAPHICS_H
/* 函数的实现体*/
void GetValue() {
…
}
/* 函数的实现体*/
void SetValue(int no) {
…
}
void main () {
…
}
示例1-3 C定义文件的结构
(4条规则+6条建议)
【规则1-2-1】在复杂的工程文件中,为了防止头文件被重复引用,应使用ifndef/define/endif 结构产生预处理块。
【规则1-2-2】用#include <> 格式来引用标准库的头文件(编译器将从标准库目录开始搜索)。
【规则1-2-3】用#include “” 格式来引用非标准库的头文件(编译器将从用户的工作目录开始搜索)。
【规则1-2-4】只引用必需的头文件,不要为了防止忘记包含头文件而在每个文件开始添加很多的