编程精粹:编写高质量的C语言代码———笔记一

本文深入探讨了C语言编程中的编译程序处理与函数编写技巧,包括空语句处理、字符串复制函数优化、错误检查工具lint的使用、以及单元测试的重要性。文章还强调了编写高质量代码的注意事项,如避免使用等号与赋值号混淆,并通过实例展示了如何正确实现字符串复制函数,确保程序的稳定性和可靠性。

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

第一章 假想的编译程序

  • 要记得对空语句进行处理,最好使用NULL使其明显可见
    char * strcpy(char* pchTo, char* pchFrom)
    {
    char* pchStart = pchTo;
    while(*pchTo++ = *pchFrom++)
        NULL;
    return (pchStart);
    }

     

  • 某些编译程序允许用户在 && 和 | | 表达式以及 if、for 和 while 构造的控制表达式
    中禁止使用简单赋值,这样就可以帮助用户查出这种错误。这种做法的基本依据是用户极有
    可能在以上五种情况下将等号==偶然地健入为赋值号=。

    上面的函数在编译的时候会产生错误警告,所以应该写成
char * strcpy(char* pchTo, char* pchFrom)
{
char* pchStart = pchTo;
while((*pchTo++ = *pchFrom++) != '\0' )
    NULL;
return (pchStart);
}
  • 所有的函数都必须有原型。这样编译程序了解程序中每个函数的参数情况,可以为不同的函数选择它认为的最有效率的调用约定。
  • 如果想对自己的C语言错误有更加详细的检查,应该使用lint。--(这个东西至今也没有用过)
  • 如果有单元测试,就进行单元测试

 

 

转载于:https://www.cnblogs.com/SpeakSoftlyLove/p/3395156.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值