C语言编程规范
来源:互联网 发布:mac python环境图标 编辑:程序博客网 时间:2024/06/05 09:42
一、头文件编程规范
三大原则——设计层面:
1、头文件中适合放置接口声明,不适合放实现2、头文件职责单一3、头文件应向稳定的方向包含
八项规则——编码层面:
1、只能通过包含头文件的方式使用其他模块提供的接口,禁止在.c中通过extern的方式使用外部函数接口、变量2、禁止在头文件中定义变量3、禁止在extern“C”中包含头文件4、总是编写内部的#ifdef保护符5、头文件应当自包括6、禁止头文件循环依赖7、禁止包含用不到的头文件(否则多次包含该头文件会有变量重复定义的错误);头文件的包含关系代表一种依赖,头文件变化会引起包含该文件的模块重新编译;8、每一个.c文件应有一个同名.h文件,用于声明需要对外公开的接口
二、函数编程规范
为什么需要函数
1、降低复杂度,易于思考2、便于协同开发3、代码复用,减少代码量4、封装变化5、良好的可移植性
函数规范
1、圈复杂度小于7圈复杂度就是一个函数可以执行的路径条数;2、函数短小(推荐小于50行,一屏)3、嵌套层数小于5单行字符数小于80个,一屏;4、职责单一接受函数名的约束,避免文不对题;5、抽象层次单一避免读者迷失在细节;6、参数不超过3个7、避免重复8、避免重入问题时间上,在函数执行完之前,又一次被调用,称为重入;只有在函数中有对公共资源访问的时候,才会有问题;9、不要返回局部变量
三、语法规范
命名、注释、格式、效率、安全
内存划分与管理
C语言中内存堆和栈的区别
一般情况下程序存放在Rom(只读内存,比如硬盘)或Flash中,运行时需要拷到RAM(随机存储器RAM)中执行,RAM会分别存储不同的信息,如下图所示:
内存中的栈区处于相对较高的地址以地址的增长方向为上的话,栈地址是向下增长的。
栈中分配局部变量空间,堆区是向上增长的用于分配程序员申请的内存空间。另外还有静态区是分配静态变量,全局变量空间的;只读区是分配常量和程序代码空间的;以及其他一些分区。
例如,如下main.cpp
四、C语言常见问题
1、堆常见问题
2、栈常见问题
3、类型转换
类型转换是用来欺骗编译器的,不会改变内存中的数据;
4、整数溢出
5、字节对齐
自己设计的数据结构时,要与字节对齐无关;
6、字节序
7、危险的字符串操作
阅读全文
0 0
- c语言编程规范
- C 语言编程 规范
- C语言编程规范
- C语言编程规范
- C语言编程规范
- C语言编程规范
- c语言编程规范
- c语言编程规范
- C语言编程规范
- C语言编程规范
- C语言编程规范
- C语言编程规范
- C语言编程规范
- C语言编程规范
- C语言编程规范
- C语言编程规范
- C语言编程规范
- C语言编程规范
- 信号量
- UVa400
- 贪污罪量刑标准
- 用1个for语句 实现多个for循环
- TEST
- C语言编程规范
- LeetCode题目:Roman to Integer
- 学习笔记——JavaEE基础<1>HTML基础
- C# 委托实现多线程调用窗体
- tomcat之 JDK8.0安装、tomcat-8.5.15安装
- DataTable-输出Excel添加额外行的实现
- logstash的配置
- Quartz将定时任务持久化到数据库
- 37. 输入3个学生4门课的成绩,完成maxaver函数实现如下功能:输出平均成绩最高的学生的所有成绩。