IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> C语言常见错误 -> 正文阅读

[C++知识库]C语言常见错误

C语言常犯的错误

1. 申请内存后必须加错误检查。

申请内存三步:malloc->判断是否申请成功->memset赋值->使用->释放。

2. 对函数参数要检查。

3. 关键部分要加注释,注释风格要统一。

4. 统一编码规范(for/switch等缩进,空格, 注释)。

5. 定义debug开关,使用宏统一进行错误处理(FILELINEfunc)。

6. 通常返回值:0表示成功,其他值表示失败。

7. 发现了在ip和端口计算中的字节序问题,在处理时要统一字节序。

8. 在进行位运算时,要注意不同数据的字节序问题,一般统一为网络字节序,同时要注意大端存储和小端存储。常用的转换函数有htons(),ntons(),ntonl(),ntohl()。

9. 要灵活应用宏简化代码,比如统一的错误处理,魔数等。

10. 要尽量减少内存申请次数,频繁申请会导致内存碎片化。

11. 声明结构体或数组,申请内存后,要memset整个内存,执行清零/赋值(例:memset(a,0,20*sizeof(char))),不然会有“未初始化变量调用错误”。

12. 相似函数定义函数结构体,定义函数结构体数组,循环调用(声明函数结构体,统一参数,按照索引调用))。

13. 左移/右移运算注意不要超出类型边界。如果移位的位数超过或者等于类型本身的位数,行为是未定义的,编译器不同而不同。(32位的直接移动32位错误,可以先移动31位,再移动1位)。

14. static inline 函数定义在.h头文件中,在其他文件中include 该头文件使用该函数。把希望全局使用又希望增加效率的函数实现在头文件中static inline。

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-10-13 11:17:51  更:2021-10-13 11:19:39 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 3:02:05-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码