3.3.1. 可变参数宏

在 C90 和 C++ 中,可以将宏声明为接受可变数量的自变量。

C90 和 C++ 中用于声明可变参数宏的语法遵循用于声明可变参数宏的 C99 语法,除非选择了 --gnu 选项。 如果指定了 --gnu 选项,则该语法遵循可变参数宏的 GNU 语法。

示例


#define debug(format, ...) fprintf (stderr, format, __VA_ARGS__)



void variadic_macros(void)

{

    debug ("a test string is printed out along with %x %x %x\n", 12, 14, 20);

}

另请参阅

Copyright © 2007 ARM Limited. All rights reserved. ARM DUI 0348AC
Non-Confidential