define 的三种用法如下:
1. 第一种是定义标识,标识有效范围为整个程序,形如 define,常与 if 配合使用。
2. 第二种是定义常数,如 #define max 100,则 max 代表 100。这种情况下使用 const 定义常数更好,因为 const 常量有数据类型,而宏常量没有数据类型。编译器可以对前者进行类型安全检查,而对后者只进行字符替换,没有类型安全检查,并且在字符替换时可能会产生意料不到的错误。
define的基本用法3. 第三种是定义函数,如 define get_max(a, b) ((a)>(b)?(a):(b)) 则以后使用 get_max(x,y) 就可以得到 x 和 y 中较大的数。这种方法存在一些弊病,如 get_max(a++, b) 时,a++ 会被执行多少次取决于 a 和 b 的大小。所以建议还是用内联函数而不是这种方法提高速度。
请注意,使用 define 定义标识和常数时,其作用域为宏定义命令起到源程序结束。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论