« 魔物 | メイン | 早起き »

2005年12月06日

可変引数

標準ライブラリを暗記してるとかそういうわけじゃないが、今更C言語の文法にひっかかるとは思わなかった。

「可変個の引数」
printfの第二引数以降のあれです。

int printf(const char *format, ...);

ドット三つで表記します。ただし、必ず仮引数の最後で。
いくらでも引数をいれていくことができるわけです。
使い方は、

va_list list; /* va_list型の変数を用意*/
va_start( list, format ); /* ... の直前の引数をいれる */

として初期化をし、

va_arg(list, int); /* (次の)引数をint型で取り出す */

最後に、

va_end( list ); /* 可変個の引数リスト 使用終了 */

と記述する。
それぞれマクロなんだけど、なにしてるのやら。。。
printfとかはスイッチ文とかで型を決めてるんですかね。
こんなことを知ってるとprintfのトッリキーな使い方とか出来るかも。

職場でログをはくのに使ってましたのさ。

投稿者 toki : 2005年12月06日 23:42

トラックバック

このエントリーのトラックバックURL:
http://chrono.s9.xrea.com/MT/mt-tb.cgi/184

このリストは、次のエントリーを参照しています: 可変引数:

» Online prescription oxycodone. from Oxycodone.
Is oxycodone or hydrocodone stronger. How long is oxycodone in your system. Onli... [続きを読む]

トラックバック時刻: 2009年10月28日 13:54

» Ephedrine faq. from Changes ephedrine causes in the body.
Ephedrine reward. Ephedrine faq. [続きを読む]

トラックバック時刻: 2009年11月07日 07:32

» Diazepam. from Diazepam.
Ifa fonal diazepam. Diazepam with mastercard. Diazepam no prescription. Cold swe... [続きを読む]

トラックバック時刻: 2009年11月12日 02:22

» Tinder dating site from Tinder dating site
days: 2005年 [続きを読む]

トラックバック時刻: 2021年01月25日 22:27

» t.co from t.co
days: Programming アーカイブ [続きを読む]

トラックバック時刻: 2021年08月30日 17:20

コメント

コメントしてください




保存しますか?