logo

関数処理関数編 その2

ヒューマンリソシア株式会社はコラム「関数処理関数編 その2」を公開しました。

###

関数処理の第二回でございます。…多分「関数処理」&「関数」編は結構な長丁場になりますので、
少しばっかり、腰を据えておつきあい頂ければ、と思います。
というわけで早速…今回はまず「可変長引数」についてでございます。

おいちゃん的に、可変長引数と言えばやはりprintf系列の関数群を想起するのですが…まずは極々簡単に、
printfの書式のおさらいをしておきましょう。
「可変長」の辺りのニュアンスをくみ取って頂きたいので、恣意的に2~3パターンほど。

printf(“test1\n”);
printf(“test2 %d\n”, 10);
printf(“test3 %d %s\n”, 10, ‘hoge’);
printf(“test4 %d %s %f\n”, 10, ‘hoge’, 1.23);

printfなどは、このように「第一引数の文脈によって、引数の数がころっころと変わる」関数になります。
ちなみに引数が「余る」場合は放置、「足りない」場合は”Warning: printf(): Too few arguments in “という、
警句レベルのメッセージが飛び交います辺りは、以下でご確認ください。

printf(“test5 \n”, 10, ‘hoge’, 1.23); // 「余る」サンプル
printf(“test6 %d %s %f\n”); // 「足りない」サンプル

さて。
printfと同じように引数の数が動的に変わる関数を、じゃぁ「どうしても自作で作りたい」なんて時にどうしましょう?
というのが、今回の「可変長引数」になります。
# ちなみに「引数が三つあるうちの1つは、指定しなくてもしてもよくて、指定がなけりゃデフォルトを適用するよ」ってのは、もうちょっと別の書式がありますってのは後日やります。

この続きは以下をご覧ください
リンク

関連情報
http://resocia.jp/
本プレスリリースは発表元企業よりご投稿いただいた情報を掲載しております。
お問い合わせにつきましては発表元企業までお願いいたします。