先頭へ戻る

__VA_ARGS__ | Programming Place Plus C言語編 標準ライブラリのリファレンス

Programming Place Plus トップページ -- C言語編 -- 標準ライブラリのリファレンス(名前順)

Programming Place Plus トップページ -- C言語編 -- 標準ライブラリのリファレンス(ヘッダ別)

先頭へ戻る

__VA_ARGS__

概要

関数形式マクロの可変個実引数に置き換わる。

ヘッダ

なし

形式

詳細

仮引数に ... がある関数形式マクロの置換結果の部分でだけ使用できる識別子である。可変個部分の実引数の並びに置き換わる。

注意

使用例

#include <stdio.h>

#define DEBUG

#ifdef DEBUG
#define PRINT(...)  fprintf(stderr, __VA_ARGS__)
#else
#define PRINT(...)  printf(__VA_ARGS__)
#endif

int main(void)
{
    const char* s = "abc";
    int n = 123;

    PRINT( "%d\n", n );
    PRINT( "%s %d\n", s, n );

    return 0;
}

実行結果

123
abc 123

関連

解説章

第52章


参考リンク


------------------------------------------------------------------------

更新履歴

'2018/4/3 事前定義マクロであるという記述を削除(識別子である)

'2018/1/22 新規作成。


------------------------------------------------------------------------

標準ライブラリのリファレンス(名前順)のトップページへ

標準ライブラリのリファレンス(ヘッダ別)のトップページへ

C言語編のトップページへ

Programming Place Plus のトップページへ



はてなブックマーク に保存 Pocket に保存 Facebook でシェア
Twitter でツイート Twitter をフォロー LINE で送る
rss1.0 取得ボタン RSS 管理者情報 プライバシーポリシー