C语言编程风格规范-1

  1. 目的
    良好的代码编写风格是高质量代码的一部分,统一的、良好的代码编写规范,使代码更具可读性与可维护性。本文综合了国内各大厂的编码规范,各取各大厂的各规范中的要点与精华,汇聚成此文档。

  2. 文件
    2.1 所有文件统一使用 utf-8 编码
    2.2 包含头文件时,建议相同模块的头文件放在一起

  3. 注释
    注释推荐使用英文,英文描述不清楚的可使用中文。

3.1 文件头信息
所有.c, .h 文件都必须带有文件头信息,采用 doxygen 格式,方便以后文档生成。

/**
* @file test.c
* @author Jason Zhu
*
* @brief This file is just for demo.
*
*/

3.2 函数头信息
外部函数要加函数头,内部函数如果功能简单,函数名已经说明一切可不加函数头。
需要进行注释的函数,按下面的格式进行注释,包括:函数功能、输入参数,返回值说明。

/**
* @brief This is a test function
*
* @param param1 The first parameter
* @param param2 The second parameter
* @return uint32_t* The test result
*/
uint32_t *TestFunc(uint32_t param1, uint32_t param2)

.3 代码注释

  1. 在代码前面注释使用“/** */”, 在代码右边注释使用“/**< /”。
    注释内容与“
    ”间留一空格

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/702140.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Docker的常用命令

Docker的常用命令 Docker是一个开源的应用容器引擎&#xff0c;它使得开发者能够打包他们的应用以及依赖包到一个可移植的容器中&#xff0c;然后发布到任何流行的Linux机器上&#xff0c;也可以实现虚拟化。容器是完全使用沙箱机制&#xff0c;相互之间没有任何接口&#xff…

正版IDM多少钱?如何便宜购买序列号

IDM是一款互联网下载神器&#xff0c;它的全称是Internet Download Manager&#xff0c;可以将下载速度提升至5倍以上。那么IDM正版多少钱&#xff1f;如何才能买到正版IDM序列号呢&#xff1f; 正版IDM的价格根据付费模式和购买渠道不同&#xff0c;所需要的价格也是不同的。…

挑战30天学完Python:Day20 PIP 包管理

&#x1f389; 本系列为Python基础学习&#xff0c;原稿来源于 30-Days-Of-Python 英文项目&#xff0c;大奇主要是对其本地化翻译、逐条验证和补充&#xff0c;想通过30天完成正儿八经的系统化实践。此系列适合零基础同学&#xff0c;或仅了解Python一点知识&#xff0c;但又没…

打开 Camera app 出图,前几帧图像偏暗、偏色该怎样去避免?

1、问题背景 使用的安卓平台&#xff0c;客户的应用是要尽可能快的获取到1帧图像效果正常的图片。 但当打开 camera 启动出流后&#xff0c;前3-5帧图像是偏暗、偏色的&#xff0c;如下图所示&#xff0c;是抓取出流的前25帧图像&#xff0c; 前3帧颜色是偏蓝的&#xff0c;…

Vue3 学习笔记(Day4)

「写在前面」 本文为尚硅谷禹神 Vue3 教程的学习笔记。本着自己学习、分享他人的态度&#xff0c;分享学习笔记&#xff0c;希望能对大家有所帮助。推荐先按顺序阅读往期内容&#xff1a; 1. Vue3 学习笔记&#xff08;Day1&#xff09; 2. Vue3 学习笔记&#xff08;Day2&…

Redis如何修改key名称

点击上方蓝字关注我 近期出现过多次修改Redis中key名字的场景&#xff0c;本次简介一下如何修改Redis中key名称的方法。 1. 命令行方式修改在Redis中&#xff0c;可以使用rename命令来修改Key的名称。这个命令的基本语法如下&#xff1a; RENAME old_key new_key 在这里&#…

信息学奥赛一本通1205:汉诺塔问题

1205&#xff1a;汉诺塔问题 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 47778 通过数: 18652 【题目描述】 约19世纪末&#xff0c;在欧州的商店中出售一种智力玩具&#xff0c;在一块铜板上有三根杆&#xff0c;最左边的杆上自上而下、由小到大顺序串着由64…

【5G NR】【一文读懂系列】移动通讯中使用的信道编解码技术-NR编解码LDPC和Polar概述(一)

目录 NR LDPC和Polar编码技术概述 LDPC&#xff08;低密度奇偶校验码&#xff09; LDPC 工作原理 LDPC 应用场景&#xff1a; LDPC 与其他编码技术相比的优势&#xff1a; Polar 极化码 Polar 工作原理 Polar 应用场景&#xff1a; Polar 与其他编码技术相比的优势&am…

项目实战:Qt监测操作系统物理网卡通断v1.1.0(支持windows、linux、国产麒麟系统)

若该文为原创文章&#xff0c;转载请注明出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/136276999 红胖子(红模仿)的博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结…

Gitflow:一种依据 Git 构建的分支管理工作流程模式

文章目录 前言Gitflow 背景Gitflow 中的分支模型Gitflow 的版本号管理简单模拟 Gitflow 工作流 前言 Gitflow 工作流是一种版本控制流程&#xff0c;主要适用于较大规模的团队。这个流程在团队中进行合作时可以避免冲突&#xff0c;并能快速地完成项目&#xff0c;因此在很多软…

Unity 动态创建Mesh 基础方法与高级方法

最近在做项目优化&#xff0c;注意到动态创建Mesh时&#xff0c;Unity提供了一套高级方法用于快速创建模型&#xff0c;特此记录学习一下。 前言 关于Mesh的基本概念再次不在阐述&#xff0c;可以参考Unity Mesh 官方文档&#xff0c;介绍的很详细&#xff0c;其中 基础方法…

數據集成平台:datax將MySQL數據同步到hive(全部列和指定列)

1.數據集成平台&#xff1a;將MySQL數據同步到hive&#xff08;全部和指定列&#xff09; python環境&#xff1a;2.7版本py腳本 傳參&#xff1a; source_database&#xff1a;數據庫 source_table&#xff1a;表 source_columns&#xff1a;列 source_splitPk&#xff1a;sp…

YOLOv8改进 | Conv篇 | 利用YOLOv9的GELAN模块替换C2f结构(附轻量化版本 + 高效涨点版本 + 结构图)

一、本文介绍 本文给大家带来的改进机制是利用2024/02/21号最新发布的YOLOv9其中提出的GELAN模块来改进YOLOv8中的C2f,GELAN融合了CSPNet和ELAN机制同时其中利用到了RepConv在获取更多有效特征的同时在推理时专用单分支结构从而不影响推理速度,同时本文的内容提供了两种版本…

[数据集][目标检测]游泳者溺水数据集VOC+YOLO格式2类别895张

数据集制作单位&#xff1a;未来自主研究中心(FIRC) 数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;895 标注数量(xml文件个数)&#xff1a…

遗传算法优化LSTM回归预测,ga-lstm时间序列的预测

​目录 背影 摘要 LSTM的基本定义 LSTM实现的步骤 遗传算法原理 遗传算法优化LSTM回归预测,ga-lstm时间序列的预测 MATALB代码:遗传算法优化LSTM回归预测,ga-lstm时间序列的预测(代码完整,数据齐全)资源-CSDN文库 https://download.csdn.net/download/abc991835105/8887…

【文生视频】Diffusion Transformer:OpenAI Sora 原理、Stable Diffusion 3 同源技术

文生视频 Diffusion Transformer&#xff1a;Sora 核心架构、Stable Diffusion 3 同源技术 提出背景变换器的引入Diffusion Transformer (DiT)架构Diffusion Transformer (DiT)总结 OpenAI Sora 设计思路阶段1: 数据准备和预处理阶段2: 架构设计阶段3: 输入数据的结构化阶段4: …

云安全威胁及日常防护方案建议

随着互联网技术发展&#xff0c;企业越来越多地采用云服务&#xff0c;云安全成为了企业IT安全的重要组成部分。然而&#xff0c;伴随技术的发展普及&#xff0c;云安全也面临着许多安全风险。下面我们就来简单了解下目前常见的一些云安全风险以及有什么防护方案。 1、云平台配…

基于qt的图书管理系统----04sql功能开发

参考b站&#xff1a;视频连接 源码github&#xff1a;github 目录 1 封装一个全局的对象2 设计所有接口2.1 初始化数据库接口2.2 登陆接口2.3 条件查询用户接口 1 封装一个全局的对象 新建一个cclass&#xff0c;sqlmange&#xff0c;并且在.pro文件中添加上sql 使用c单例模…

Linux进程【补充】

文章目录 进程概念task_struct 进程创建forkvfork写时拷贝 进程状态僵尸进程孤儿进程守护进程 进程地址空间是什么为什么怎么做 进程概念 进程是一个程序的执行实例或者是担当系统资源分配的实体。当一个程序运行时&#xff0c;被从硬盘加载到内存中&#xff0c;操作系统为每个…

Python实战:爬取小红书——采集笔记详情

上一篇文章发出后&#xff0c;有读者问能不能爬到小红书笔记详情数据&#xff0c;今天他来了。 Python实战&#xff1a;爬取小红书 一、先看效果 程序输入&#xff1a;在一个txt文件内粘贴要爬取的笔记链接&#xff0c;每行放1个链接。 程序输出&#xff1a;输出是一个所有笔记…