トップページ – C言語編 – 標準ライブラリのリファレンス(名前順)
トップページ – C言語編 – 標準ライブラリのリファレンス(ヘッダ別)
概要 |
va_list を初期化し、可変個引数の使用を開始する。 |
|
ヘッダ | ||
形式 |
#define va_start(ap, v) ((ap)=(va_list)&(v)+sizeof(v)) |
|
引数 |
ap |
va_list型の変数。 |
v |
可変個引数でない最後の仮引数。 |
戻り値 |
なし。 |
|
詳細 |
va_list に、最初の可変個実引数を指すポインタを設定する。可変個仮引数には名前がなく、直接的に指定することができないため、可変個部分でない最後の仮引数の名前を指定する。 そうして、マクロ内で計算によって可変個実引数の位置を導き出している。このような仕組みである都合上、可変個部分でない最後の仮引数に、register指定子が指定されていたり、配列型や関数型であったり、int よりも小さい整数型📘であったりしてはならない。いずれかに該当した場合の動作は未定義📘である。 |
|
注意 |
va_arg や va_end を呼ぶ前に必ず呼び出さなければならない。また、va_end を呼ぶ前に、再初期化をおこなうことを目的に va_start を呼び出してはならない。 |
|
使用例 |
実行結果:
|
|
関連 |
可変個引数の一連の処理を終えるとき、va_start と対応関係にある va_end を呼ぶ。 |
|
解説章 |
本ページはアフィリエイトプログラムによる収益を得ています。
以下のリンクから商品を購入されると、Programming Place 管理者に紹介料が支払われています。
()
の前後の空白の空け方)(
の直後、)
の直前に空白を入れない)return 0;
を削除(C言語編全体でのコードの統一)
Programming Place Plus のトップページへ
はてなブックマーク に保存 | Pocket に保存 | Facebook でシェア |
X で ポスト/フォロー | LINE で送る | noteで書く |
RSS | 管理者情報 | プライバシーポリシー |