#号的含义
#的作用是将宏定义中传入的参数名转化为用一对双引号修饰的参数名的字符串。也就是说只有传参的宏定义中才会这样使用。
示例:
// Initializes a UnitTest structure.
#define unit_test(f) { #f, f, UNIT_TEST_FUNCTION_TYPE_TEST }
使用上述宏定义:
unit_test(null_test_success)
实际展开之后:
{"null_test_success", null_test_success, UNIT_TEST_FUNCTION_TYPE_TEST }