va_start

可変長引数 (variable arguments) を初期化します.

#include <stdarg.h>
void va_start(
    va_list ap,
    最終仮引数
);

va_start マクロは,va_arg マクロの引数などに使用される va_list 型の変数 ap を初期化します. va_start マクロは,ap に対して va_end マクロを呼び出すことなく,その ap を最初期化する目的で呼び出してはいけません.

引数最終仮引数が以下もので宣言される場合,その動作は未定義です.

  • register 記憶域クラス
  • 関数型
  • 配列型
  • 規定の実引数拡張を適用した結果の型と適合しない型

C言語サンプルプログラム

va_arg マクロのサンプルプログラムをご覧下さい.


Cプログラマの必読書

たくさんあるC言語関連の書籍の中でも特に役に立った本です.よかったら参考にしてみてください.

C実践プログラミング 第3版

C言語の実践的参考書.少々値段は張りますが初心者を脱しようとしている人は絶対に読むべきです.
文法だけでなく,コーディングスタイルやデバッグなど文字通り「実践的」なことが書かれているので非常にためになります. オライリーの本は,読みにくい本が多いのですが本書はとても読みやすくオススメです.


C言語ポインタ完全制覇 (標準プログラマーズライブラリ)

ポインタの解説書としては最高の書籍です.
この1冊でポインタを完全に理解することができます.全くの初学者が読むには敷居が高いですが,入門書を読み終えた後に読むと非常に有益です.