宏定义
宏定义就是在开始用井号(#)定义一个函数或者是常量,这种定义在编译器中被处理,运算速度快,但使用宏定义时可能会出现一些隐蔽的问题
例如:
#define DATA sizeof(int) |
乍一看这样做似乎没什么问题,要注意sizeof返回的是一个无符号数,有符号数和无符号数做比较的时候会先把有符号数变成无符号数。而负数的有符号数最高位一定为1,这样就可能会导致数据异常。
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
Comment