C语言编程中的常见错误总结

本文总结了编程过程中常见的15种代码错误,包括内存泄漏、数组越界、野指针等问题,并提供了相应的注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

编程中, 经常会遇到这样或者那样的错误, 除了一部分是因为需求、分析设计的问题外, 另一部分则是和代码相关的。 总结一下代码相关的常见错误,欢迎补充!

1.  内存泄露    

     内存只申请使用, 异常地方处理却没有释放掉。

2.  内存(数组)越界访问

    数组越界很常见, 尤其是使用全局变量数组变量。 

3.  野指针

    free的指针, 要及时指向NULL,否则就是野指针。

4. 访问空指针

   指针使用, 要时刻注意是否为NULL。

5. 引用未初始化的变量

    养成任何变量的定义, 都要进行初始化,尤其是结构体变量, 否则会因为未初始化造成的随机值而出现莫名其妙的bug。

6. 指针运算错误

   指针的运算, 尤其是++, +1, --, -1 等操作, 要按照指针类型来处理

7. 内存分配/释放不配对

 内存的管理, 要时刻注意分配和释放要一起出现, 就跟代码段的括号要成对出现。

8.  返回指向临时变量的指针

    深入了解关于函数调用的本质, 了解函数的参数和返回值, 避免出现这类错误。

9.   试图修改常量

     这个在字符串的处理中经常出现, 深入了解字符串常量的机制是关键。

10. 误解函数传值与传引用

    同8 , 函数的参数传递,尤其是指针参数的传递,要理解深刻。

11. 栈溢出

   嵌入式编程容易出现, 从效率方面讲, C语言的函数传递, 一般建议用指针, 特别是针对大结构体的时候。

12. 符号重名

   采用规范的命名机制, 应该就不会出现。 比如全局变量以g_开头, 宏全部大写等

13. 字节对齐

   这个和CPU平台相关, 一般都是4的整数倍。

14. 字节顺序

    网络通信编程中经常遇到, 大端字节顺序和小端字节顺序, 尤其是针对CPU发通信协议包的时候, 要注意16bit 和 32 bit的数据和  相关的结构体。

15.  忘记函数的返回值

   函数返回值要明确, 好的习惯是即使是void的函数, 也要return 。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值