宏定义
本文最后更新于 2020年4月7日 下午
宏定义就是在开始用井号(#)定义一个函数或者是常量,这种定义在编译器中被处理,运算速度快,但使用宏定义时可能会出现一些隐蔽的问题
例如:
1 | |
乍一看这样做似乎没什么问题,要注意sizeof返回的是一个无符号数,有符号数和无符号数做比较的时候会先把有符号数变成无符号数。而负数的有符号数最高位一定为1,这样就可能会导致数据异常。
宏定义
https://www.xinhecuican.tech/post/39968.html
本文最后更新于 2020年4月7日 下午
宏定义就是在开始用井号(#)定义一个函数或者是常量,这种定义在编译器中被处理,运算速度快,但使用宏定义时可能会出现一些隐蔽的问题
例如:
1 | |
乍一看这样做似乎没什么问题,要注意sizeof返回的是一个无符号数,有符号数和无符号数做比较的时候会先把有符号数变成无符号数。而负数的有符号数最高位一定为1,这样就可能会导致数据异常。