1. 利用define来定义 数值宏常量 #define 宏定义是个演技非常高超的替身演员,但也会经常耍大牌的,所以我们用它要慎之又慎。它可以出现在代码的任何地方,从本行宏定义开始,以后的代码就就都认识这个宏了;也可以把任何东西定义成宏。因为编译器会在预编译的时候用真身替换替身,而在 ...
. define Conn x,y x y define ToChar x x define ToString x xx y表示什么 表示x连接y,举例说:int n Conn , 结果就是n char str Conn asdf , adf 结果就是 str asdfadf 再来看 x,其实就是给x加上单引号,结果返回是一个const char。举例说:char a ToChar 结果就是a ...
2017-04-06 17:07 0 3241 推荐指数:
1. 利用define来定义 数值宏常量 #define 宏定义是个演技非常高超的替身演员,但也会经常耍大牌的,所以我们用它要慎之又慎。它可以出现在代码的任何地方,从本行宏定义开始,以后的代码就就都认识这个宏了;也可以把任何东西定义成宏。因为编译器会在预编译的时候用真身替换替身,而在 ...
忘了啥时候记的笔记了 @ 目录 宏定义 1.不带参数的宏定义: 2.带参数的宏定义: C语言宏定义技巧(常用宏定义) 1,防止一个头文件被重复包含 ...
要写好C语言,漂亮的宏定义是非常重要的。宏定义可以帮助我们防止出错,提高代码的可移植性和可读性等。 在软件开发过程中,经常有一些常用或者通用的功能或者代码段,这些功能既可以写成函数,也可以封装成为宏定义。那么究竟是用函数好,还是宏定义好?这就要求我们对二者进行合理的取舍。 我们来看一个 ...
...
1. 利用define来定义 数值宏常量 #define 宏定义是个演技非常高超的替身演员,但也会经常耍大牌的,所以我们用它要慎之又慎。它可以出现在代码的任何地方,从本行宏定义开始,以后的代码就就都认识这个宏了;也可以把任何东西定义成宏。因为编译器会在预编译的时候用真身替换替身,而在 ...
注意区分宏定义函数和普通函数定义的区别: 宏定义中表达式的参数要加括号,否则可能会出错(运算的优先级): 同理计算的优先级问题还可以出现的main()函数中表达式中: 所以一般是不建议利用宏定义来表示太多的计算表达式,很可能会出现表达式计算错误。 ...
检查一个函数调用是否出错,主要是看返回值,因此对返回值进行有效检查就可以: 另外介绍下,哪些是c语言可以使用的宏 标准C语言预处理要求定义某些对象宏,每个预定义宏的名称一两个下划线字符开头和结尾,这些预定义宏不能被取消定义(#undef)或由编程人员重新定义。下面预定义 ...
#pragma message("this is message") #pragma message只能打印字符串,如果想打印任何宏定义可使用: #define PRINT_MACRO_HELPER(x) #x #define PRINT_MACRO(x) #x ...