首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C语言编程规范

2018 /10 图片来源于网络 C语言入门到精通 公众号 闫小林 C是一门朴素的语言,它是大部分程序员的入门语言,那么C语言的常见编程规范都有哪些呢 1 头文件: 1.头文件中适合放置接口的声明...,不适合放置实现 2.头文件应向稳定的方向包含,产品依赖于平台,平台依赖于标准库 3. .c/.h文件禁止包含用不到的头文件 4.每一个.c文件应有一个同名.h文件,用于声明需要对外公开的接口...5.禁止头文件循环依赖 6.头文件应当自包含(任意一个头文件均可独立编译) 7.禁止在extern"C"中包含头文件 8.禁止在头文件中定义变量,如果头文件被其他文件包含,会引发重复定义 9.只能通过包含头文件的方式使用其他....c提供的接口,禁止在.c中通过extern的方式使用外部函数接口、变量 10.如果一个模块包含多个子模块,则建议每一个子模块提供一个对外的.h,文件名为子模块名,降低接口使用者的编写难度 2 编码...C语言入门到精通 4 禁止内存泄漏: 1.异常出口处检查内存、定时器/文件句柄/Socket/队列/信号量/GUI等资源是否全部释放 2.删除结构指针时,必须从底层向上层顺序删除 3.使用指针数组时

32.7K3129
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    C语言命名规范

    C是一门朴素的语言,你使用的命名也应该这样。然而,当面对复杂情况时就有些棘手,给全局变量取一个描述性的名字是必要的。把一个全局函数叫做“foo”是一种目光短浅的行为。...(8)对const 的变量要求在变量的命名规则前加入c_。...即:c_+变量命名规则;示例:const char* c_szFileName; 4-函数的命名规范 函数的命名应该尽量用英文(或英文缩写、中文全拼、中文全拼缩写)表达出函数完成的功能——函数名应准确描述函数的功能...5-函数参数命名规范 参数名称的命名参照变量命名规范。为了提高程序的运行效率,减少参数占用的堆栈,传递大结构的参数,一律采用指针或引用方式传递。...如:……cmCopyString(const CHAR * c_szSource, CHAR * szDest) 6-文件名 (包括动态库、组件、控件、工程文件等)的命名规范文件名的命名要求表达出文件的内容

    2.7K20

    C语言编程规范 clean code

    参考该规范之前,希望您具有相应的C语言基础能力,而不是通过该文档来学习C语言。...了解C语言的ISO标准; 熟知C语言的基本语言特性; 了解C语言的标准库; 总体原则 代码需要在保证功能正确的前提下,满足可读、可维护、安全、可靠、可测试、高效、可移植的特征要求。...extern "C" 通常出现在 CC++ 混合编程的情况下,在 extern "C" 中包含头文件,可能会导致被包含头文件的原有意图遭到破坏,比如链接规范被不正确地更改。...,其链接规范为 "C++"。...建议5.3 使用强类型参数,避免使用void* 尽管不同的语言对待强类型和弱类型有自己的观点,但是一般认为c/c++是强类型语言,既然我们使用的语言是强类型的,就应该保持这样的风格。

    4.4K10

    C语言编程规范 clean code

    参考该规范之前,希望您具有相应的C语言基础能力,而不是通过该文档来学习C语言。...了解C语言的ISO标准; 熟知C语言的基本语言特性; 了解C语言的标准库; 总体原则 代码需要在保证功能正确的前提下,满足可读、可维护、安全、可靠、可测试、高效、可移植的特征要求。...extern "C" 通常出现在 CC++ 混合编程的情况下,在 extern "C" 中包含头文件,可能会导致被包含头文件的原有意图遭到破坏,比如链接规范被不正确地更改。...,其链接规范为 "C++"。...建议5.3 使用强类型参数,避免使用void* 尽管不同的语言对待强类型和弱类型有自己的观点,但是一般认为c/c++是强类型语言,既然我们使用的语言是强类型的,就应该保持这样的风格。

    5.5K10

    腾讯上架构之资源命名规范设计

    本篇主要描述客户在使用腾讯产品资源时,需从资源命名规范上,进行统一规范化设计。...上资源统一命名目的是:其一,上资源命名规范化;其二,上资源统一规范便于后续上自动化,以增强整体上运维能力,提升平台整体运维透明度/资源辨识度,以及从资源管理、上自动运维管理等维度提升上管理的高效性...目标读者本文档主要适用于如下对象群体:平台工程师平台配置工程师架构师平台研发人员1.背景在服务众多客户的过程中,发现不少客户在使用腾讯产品资源时,资源命名没有统一的规范,要么没有命名规范,出现...资源命名目标本篇主要基于上常见的资源情况进行统一命名,便于资源命名规范化,以及后续上自动化,提升上运维效率。1.2....资源命名规范该文档制定的规范适用于客户上资源当前及未来的资源命名和参考。 若有特殊化命名需求,建议结合自身团队的需求,进行统一设计与迭代。

    4K190

    这才是理想中的 C 语言编程规范

    今天找了一篇编码规范分享大家,可以规避掉很多bug~ “简 介: 本文分析在头条上分享GitHub上一位老外的嵌入式C编码规范(收藏细读):嵌入式大杂烩。...关键词: 嵌入式,C语句,编程规范” 分享GitHub上一位老外的嵌入式C编码规范(收藏细读)[1] 01 最重要的规则 编写代码时最重要的一条规则是:检查周围的代码并尝试模仿它。   ...这是为C语言本身保留的 对于严格的模块私有函数,使用prv_ name前缀 对于包含下划线_ char的变量/函数/宏/类型,只能使用小写字母 左花括号总是与关键字(for, while, do, switch...+检查 在c++检查之外包含外部头文件 首先用STL C文件包含外部头文件,然后是应用程序自定义文件 头文件必须包含其他所有头文件,以便正确编译,但不能包含更多头文件(如果需要,.c应该包含其余的头文件...ifdef __cplusplus } #endif /* __cplusplus */ #endif /* TEMPLATE_HDR_H */ 参考资料 [1] 分享GitHub上一位老外的嵌入式C编码规范

    2.4K20

    全面解读curl团队的C语言代码规范

    代码风格统一有助于团队协作与代码review,业界用的比较多的是google的风格,本节来点不一样的,看看咱们平时用的比较多的工具curl团队的代码规范是什么样子的。...curl简单说一下,它在命令行或脚本中传输数据非常有用,大家也肯定用过,其源码实现可以在github上查看 https://github.com/curl/curl 下面我们来从几个方面看看curl的C语言开发规范...if(something_is_true) { while(second_statement == fine) { moo(); } } 注释 由于编写的是 C89 代码,不允许使用...它们直到 C99 标准才被引入。只使用 **/* 注释 */**。...TRUE; else if(b) return FALSE; 永远不要这样: if(a) return TRUE; else if(b) return FALSE; 运算符周围加空格 请在 C

    13810

    PQ语言规范

    本文档提供了 M 的规范。经过旨在建立对语言的初步直觉和熟悉的简要介绍后,文档准确地分几个渐进步骤涵盖了该语言: 该词法结构定义了一组是词汇的有效文本。...值、表达式、环境和变量、标识符以及评估模型构成了语言的基本概念。 值的详细规范,包括原始的和结构化的,定义了语言的目标域。...对于计算机语言理论家:本文档中指定的公式语言是一种主要是纯粹的、高阶的、动态类型的、部分惰性的函数式语言。 表达式和值 M 中的核心结构是表达式。一个表达式可以被评估(计算),产生一个单一的值。...下面显示了包含三个字段的纪录名为“ A”,“ B”和“ C”,其中有值1,2和3。...复制 [ A = 1, B = 2, C = 3 ] 甲表是一组组织成(其由名称标识)列中的值,和列。

    93910

    C#编码规范2 C#编码规范

    C#编码规范 1 规范目的 ……………………………………………………… 3 2 适用范围 ……………………………………………………… 3 3 代码注释 ………………………………………………………...为了执行规范,每个软件开发人员必须一致遵守编码规范; 使用统一编码规范的主要原因,是使应用程序的结构和编码风格标准化,以便于阅读和理解这段代码; 好的编码约定可使源代码严谨、可读性强且意义清楚,与其它语言约定相一致...2 适用范围 本规范主要以C#为开发语言规范,为鲍亮实验室的原则性规范; 由于本规范是为撰写程序而设计,所以适用于一切有关程序撰写的工作事项。...3.2 模块头部注释规范 以一个物理文件为单元的都需要有模块头部注释规范,例如:C#中的.cs文件 用于每个模块开头的说明,主要包括:(粗体字为必需部分,其余为可选部分) 文件名称(File Name...3.3 方法注释规范   1> C# 提供一种机制,使程序员可以使用含有XML 文本的特殊注释语法为他们的代码编写文档。

    2.6K91

    腾讯开发者社区内容推荐审核规范

    腾讯开发者社区的内容活动开展,均在统一的内容价值观指引下进行——鼓励原创的技术创作,提供可信赖的内容,挖掘技术的价值,培育分享的土壤。...腾讯开发者社区,我们鼓励的内容: 1、 以传递技术知识、分享实践经验、表达技术观点为主要方向,有价值、有深度的原创内容。...腾讯开发者社区,我们不鼓励的内容: 1、 非原创低质内容:如读书笔记、刷题记录、系列工具安装教程等,没有个人思考与总结,更多为拾人牙慧的文章。...标题规范 ● 真实可信、简单平实 ● 不夸大、不作伪、不标题党 ● 腾讯开发者社区有权根据规范修改标题 配图规范 ● 杜绝色情低俗图片吸引点击 ● 图片与文章耦合紧密,图文相关性大 ● 图片背景简单...a) 腾讯 13 年,我所总结的Code Review终极大法 b) 鹅厂程序员的9个生存法则 四、 首页推荐文章标准细则 维度 评估维度 参考值 文章内容 选题立意(主题) (1)腾讯产品重大发布及业务实践

    87171

    单片机开发之C语言编程基本规范

    为了提高源程序的质量和可维护性,从而最终提高软件产品生产力,特编写此规范。本标准规定了程序设计人员进行程序设计时必须遵循的规范。...本规范主要针对单片机编程语言和08编译器而言,包括排版、注释、命名、变量使用、代码可测性、程序效率、质量保证等内容。...注释语言必须准确、易懂、简洁。 边写代码边注释,修改代码同时修改相应的注释,不再有用的注释要删除。...如工程中包含的“Type.h”文件,该文件用于C语言中类型的别名定义,用户还可以根据自己的需要,随时在该文件中添加条目。在工程的任一文件中,需要用到这些别名时,都要包含“Type.h”。...3) typedef和#define的用法 ① typedef的用法 在C/C++语言中,typedef常用来定义一个标识符及关键字的别名,它是语言编译过程的一部分,但它并不实际分配内存空间,实例像

    1.8K20
    领券