【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语言代码规范,评论区欢迎讨论。

相关推荐
shuair1 小时前
idea 2023.3.7常用插件
java·ide·intellij-idea
小安同学iter2 小时前
使用Maven将Web应用打包并部署到Tomcat服务器运行
java·tomcat·maven
Yvonne9782 小时前
创建三个节点
java·大数据
不会飞的小龙人3 小时前
Kafka消息服务之Java工具类
java·kafka·消息队列·mq
是小崔啊3 小时前
java网络编程02 - HTTP、HTTPS详解
java·网络·http
brevity_souls4 小时前
Spring Boot 内置工具类
java·spring boot
尼尔森系4 小时前
排序与算法:希尔排序
c语言·算法·排序算法
小钊(求职中)4 小时前
Java开发实习面试笔试题(含答案)
java·开发语言·spring boot·spring·面试·tomcat·maven
shix .4 小时前
什么是tomcat
java·tomcat
java技术小馆4 小时前
Deepseek整合SpringAI
java·spring cloud