【C语言】C语言代码的编写规范、注释规范

【C语言】C语言代码规范


### 文章目录

  • [@[TOC](文章目录)](#文章目录 @TOC 前言 一、编写规范 a、MISRA-C 1、背景与目的 2、发展历程 3、准则内容 4、应用与优势 b、华为 二、注释规范 1.文件头注释 2.函数头注释 3.代码行注释 4.特殊注释 三、参考资料 总结)
  • [前言](#文章目录 @TOC 前言 一、编写规范 a、MISRA-C 1、背景与目的 2、发展历程 3、准则内容 4、应用与优势 b、华为 二、注释规范 1.文件头注释 2.函数头注释 3.代码行注释 4.特殊注释 三、参考资料 总结)
  • [一、编写规范](#文章目录 @TOC 前言 一、编写规范 a、MISRA-C 1、背景与目的 2、发展历程 3、准则内容 4、应用与优势 b、华为 二、注释规范 1.文件头注释 2.函数头注释 3.代码行注释 4.特殊注释 三、参考资料 总结)
  • [a、MISRA-C](#文章目录 @TOC 前言 一、编写规范 a、MISRA-C 1、背景与目的 2、发展历程 3、准则内容 4、应用与优势 b、华为 二、注释规范 1.文件头注释 2.函数头注释 3.代码行注释 4.特殊注释 三、参考资料 总结)
  • [1、背景与目的](#文章目录 @TOC 前言 一、编写规范 a、MISRA-C 1、背景与目的 2、发展历程 3、准则内容 4、应用与优势 b、华为 二、注释规范 1.文件头注释 2.函数头注释 3.代码行注释 4.特殊注释 三、参考资料 总结)
  • [2、发展历程](#文章目录 @TOC 前言 一、编写规范 a、MISRA-C 1、背景与目的 2、发展历程 3、准则内容 4、应用与优势 b、华为 二、注释规范 1.文件头注释 2.函数头注释 3.代码行注释 4.特殊注释 三、参考资料 总结)
  • [3、准则内容](#文章目录 @TOC 前言 一、编写规范 a、MISRA-C 1、背景与目的 2、发展历程 3、准则内容 4、应用与优势 b、华为 二、注释规范 1.文件头注释 2.函数头注释 3.代码行注释 4.特殊注释 三、参考资料 总结)
  • [4、应用与优势](#文章目录 @TOC 前言 一、编写规范 a、MISRA-C 1、背景与目的 2、发展历程 3、准则内容 4、应用与优势 b、华为 二、注释规范 1.文件头注释 2.函数头注释 3.代码行注释 4.特殊注释 三、参考资料 总结)
  • [b、华为](#文章目录 @TOC 前言 一、编写规范 a、MISRA-C 1、背景与目的 2、发展历程 3、准则内容 4、应用与优势 b、华为 二、注释规范 1.文件头注释 2.函数头注释 3.代码行注释 4.特殊注释 三、参考资料 总结)
  • [二、注释规范](#文章目录 @TOC 前言 一、编写规范 a、MISRA-C 1、背景与目的 2、发展历程 3、准则内容 4、应用与优势 b、华为 二、注释规范 1.文件头注释 2.函数头注释 3.代码行注释 4.特殊注释 三、参考资料 总结)
  • [1.文件头注释](#文章目录 @TOC 前言 一、编写规范 a、MISRA-C 1、背景与目的 2、发展历程 3、准则内容 4、应用与优势 b、华为 二、注释规范 1.文件头注释 2.函数头注释 3.代码行注释 4.特殊注释 三、参考资料 总结)
  • [2.函数头注释](#文章目录 @TOC 前言 一、编写规范 a、MISRA-C 1、背景与目的 2、发展历程 3、准则内容 4、应用与优势 b、华为 二、注释规范 1.文件头注释 2.函数头注释 3.代码行注释 4.特殊注释 三、参考资料 总结)
  • [3.代码行注释](#文章目录 @TOC 前言 一、编写规范 a、MISRA-C 1、背景与目的 2、发展历程 3、准则内容 4、应用与优势 b、华为 二、注释规范 1.文件头注释 2.函数头注释 3.代码行注释 4.特殊注释 三、参考资料 总结)
  • [4.特殊注释](#文章目录 @TOC 前言 一、编写规范 a、MISRA-C 1、背景与目的 2、发展历程 3、准则内容 4、应用与优势 b、华为 二、注释规范 1.文件头注释 2.函数头注释 3.代码行注释 4.特殊注释 三、参考资料 总结)
  • [三、参考资料](#文章目录 @TOC 前言 一、编写规范 a、MISRA-C 1、背景与目的 2、发展历程 3、准则内容 4、应用与优势 b、华为 二、注释规范 1.文件头注释 2.函数头注释 3.代码行注释 4.特殊注释 三、参考资料 总结)
  • [总结](#文章目录 @TOC 前言 一、编写规范 a、MISRA-C 1、背景与目的 2、发展历程 3、准则内容 4、应用与优势 b、华为 二、注释规范 1.文件头注释 2.函数头注释 3.代码行注释 4.特殊注释 三、参考资料 总结)

前言


提示:以下是本篇文章正文内容,下面案例可供参考

一、编写规范

a、MISRA-C

MISRA-C工业标准的C编程规范(中文版).pdf

MISRA-C是由汽车工业软件可靠性协会(Motor Industry Software Reliability Association,MISRA)制定的一套针对C语言的编码准则,以下是对MISRA-C的详细介绍:

1、背景与目的

背景 :MISRA最初为汽车行业开发了这些规范,用于提升汽车制造业中嵌入式代码的安全性、可靠性。
目的:减少代码中的错误,提高代码的可读性、可维护性和可靠性,确保代码在不同的编译器和平台上的可移植性。

2、发展历程

MISRA先后发布了三版编码准则,分别是MISRA C:1998、MISRA C:2004和MISRA C:2012。其中,MISRA C:2012(第三版,第一次修订版)发布于2019年2月,整合了此前发布的AMD1(修订案1,MISRA C:2012的附加安全准则)和TC1(技术更正1)的内容,并后续经过修订。

3、准则内容

MISRA-C规范包含了一系列关于C语言编码的规则和指导,这些规则旨在规范诸如类型转换、指针使用、内存分配、代码风格等方面的编程实践。

MISRA C:2012规定了一个C语言的子集,共有175条编码准则(guideline),分为指令(directive)和规则(rule)两部分:

指令 :共17项,不具备完整描述,仅分析源代码无法进行合规性判定,需要结合设计文档或开发人员经验综合判定。指令均为不可判定。
规则 :共158条,具备完整的描述和要求,无需额外的信息就可以对源代码进行合规性判定。规则分为可判定或不可判定。

此外,准则有三种分类,分别是Mandatory(强制性准则,绝对不允许违反)、Required(要求性准则,只有符合MISRA对偏差的要求时才允许违反)和Advisory(建议性准则,只需在合理的范围内遵循,无需符合正式偏差,若不遵循应做好记录)。准则的作用域分为"单一翻译单元"和"系统"。

4、应用与优势

应用领域 :虽然MISRA-C最初是为汽车行业设计的,但现已成为其他行业(如航空航天、医疗设备和铁路系统)的编码标准。
优势:遵循MISRA-C规范可以降低软件缺陷的风险,提升代码的可靠性、可读性、可移植性和可维护性。同时,它还有助于预防缺陷的产生,减少因软件问题而导致的召回和损失。

b、华为

华为C语言编程规范 PDF

二、注释规范

1.文件头注释

c 复制代码
/*
* File: example.c
* Author: Abin
* Date: 2023-03-01
* Description: This file contains an example of C code.
* Version: 1.0
*/

2.函数头注释

c 复制代码
/*
* Function: add
* Description: Adds two integers and returns the result.
* Input: a - the first integer
*        b - the second integer
* Output: None
* Returns: The sum of a and b
*/
int add(int a, int b) {
    return a + b;
}

3.代码行注释

c 复制代码
int i = 0; // initialize i to zero

4.特殊注释

c 复制代码
// TODO: implement this function
int foo() {
    // FIXME: this code causes a memory leak
    return 0;
}

三、参考资料

C代码的注释规范
C语言编写规范之注释
C 语言编码规范(MISRA-C-:2004)
C语言 - MISRA代码规范
C语言代码注释规范

C代码风格及注释(个人规范)

总结

本文仅仅简单介绍了【C语言】C语言代码规范,评论区欢迎讨论。

相关推荐
xiaoye370822 分钟前
Java 自动装箱 / 拆箱 原理详解
java·开发语言
YDS8292 小时前
黑马点评 —— 分布式锁详解加源码剖析
java·spring boot·redis·分布式
迷藏4942 小时前
**发散创新:基于 Rust的开源权限管理系统设计与实战**在现代软件架构中,**权限控制**早已不
java·开发语言·rust·开源
升鲜宝供应链及收银系统源代码服务2 小时前
《IntelliJ + Claude Code + Gemini + ChatGPT 实战配置手册升鲜宝》
java·前端·数据库·chatgpt·供应链系统·生鲜配送
daidaidaiyu3 小时前
Nacos实例一则及其源码环境搭建
java·spring
小江的记录本3 小时前
【Redis】Redis全方位知识体系(附《Redis常用命令速查表(完整版)》)
java·数据库·redis·后端·python·spring·缓存
摇滚侠3 小时前
Java 项目《谷粒商城-1》架构师级Java 项目实战,对标阿里 P6-P7,全网最强,实操版本
java·开发语言
zihao_tom3 小时前
Spring Boot(快速上手)
java·spring boot·后端
hua872224 小时前
SpringSecurity之跨域
java
小王不爱笑1324 小时前
G1 GC 的核心基础:Region 模型的补充细节
java·jvm·算法