#author("2018-06-28T14:27:44+00:00","","") #author("2019-06-07T17:36:13+00:00","","") #topicpath ////////////////////////////////////////////////////////////////////////////// * 目次 [#wa4da267] #contents(); ////////////////////////////////////////////////////////////////////////////// * 可変長引数 [#s98d268c] - 可変長引数を持つマクロ関数定義 #define FUNCTION_NAME(...) printf(__VA_ARGS__) #define LOG_FUNC_IMPL(file, line, ...) printf("%s:%d: ", file, line);printf(__VA_ARGS__) #define LOG_FUNC(...) LOG_FUNC_IMPL(__FILE__,__LINE__, ...) ////////////////////////////////////////////////////////////////////////////// * # 演算子 [#l97d63d6] - マクロ関数の引数に、マクロ関数内で # を頭に付けると、渡された変数名を文字列化する。 #define STRING(str) #str int main() { printf("%sバイトは1キロバイト\n" , STRING(1024)); return 0; } -- 実行結果: 1024バイトは1キロバイト