zoukankan      html  css  js  c++  java
  • 《c陷阱与缺陷》中的笔记——c语言null指针 && 宏定义的副作用

    《c陷阱与缺陷》中的笔记——c语言null指针
    如果定义了指针,并赋值NULL,那么使用该指针的时候,一定要进行判断,否则肯定是出错的,尤其是单片机中,访问地址0肯定是硬件错误的,除非是故意使用,执行地址0的函数。

    《c陷阱与缺陷》中的笔记——宏定义的副作用
    在使用宏定义的时候,切记不能有副作用,这个副作用是不可移植的,c标准是未定义的,每个编译器都有不同的实现方式,也就是宏定义不同于函数,
    //11、返回一个比X大的最接近的8的倍数
    #define RND8( x ) ((((x) + 7) / 8 ) * 8 )
    如果RND8(x++)的使用方式是不推荐的,可以说杜绝这样的使用方式。

    另外宏定义中,不用使用if、else语句和switch语句,除非写协程,这个是有难度的,写的不好,就会出现bug
    当然宏定义中的()要记得多加,多加肯定没啥问题。并且在优先级的问题上,多加()肯定没问题。

  • 相关阅读:
    设计模式
    Junit单元测试
    数组存储和链表存储
    java新特型
    List&&Set
    Map
    File文件
    1588. 所有奇数长度子数组的和
    2秒后跳转到某页面
    图片轮播/倒计时--windows对象(setInterval)
  • 原文地址:https://www.cnblogs.com/CodeWorkerLiMing/p/12832150.html
Copyright © 2011-2022 走看看