宏中专题

在C语言的宏中使用类型关键字

// 在C语言的宏中使用类型关键字#include <stdio.h>#define PRINT_AS_TYPE(i,TYPE) printf("%d ", (TYPE)i)int main(int argc, char *argv[]){float x= 9;PRINT_AS_TYPE(x, int);return 0;}

在宏中使用ISO C的字符串创建运算符--#

宏定义如下图所示 当使用宏时 C预处理器会将它扩展成

宏中的变长参数

#define MY_ASSERT_EX(expr, format, ...) / (void) ((expr) || / (1 != Sara_Assert(_T(__FILE__), _T(__FUNCTION__)##_T("()"), __LINE__, _T(#expr), format, __VA_ARGS__ )) || / (SARA_BREAK(), 0))