Last-Modified: Sunday, 18 August 2002 22:22:17 +0900 (JST)

19 August of 2002



・int main(void)
int main(void)というのは... コマンドラインからの引数を必要としないとき、仮引数の部分に 引数がないことを明示 するようにそう書いたのでないかと思います。私も詳しいことは調べたことがないので、 本当の答えは知らなかったり... (^^;
昔、C言語を始めた頃は、各関数のインターフェイスが一致している(矛盾しないで動作する 様に書く)のは、プログラマの責任で、コンパイラはあまりチェックしてくれませんでした。
つまり、引数を参照しないなら、仮引数をわざわざ書く必要もないし、書かなくても警告も 出ないものでした。また、仮引数の型や順序が違ってもそのままコンパイルされ、実行すると クラッシュしてしまうという... 当時は関数単位でコンパイルされ、リンカがそのままリンク するだけ.... という感じで記憶しています。
しかし、現在では、正しくプロットタイプ宣言をして、関数の型や仮引数の型や並びを宣言 する ANSI Cが多くなり 違いがあると警告するものが普通ですよね...
というわけで、main()は、int main(int, char**); で int を返す return 文があるのが、 正しいとなるはずです。


・void型
void型って ANSI C で導入されたと記憶しています。違うかな?
ANSI C だと、int main(int, char**); だし、それ以前の K&R なら void がないので、 void main() は void なんて単語は意味不明なのでエラー。
というわけで void main(); や int main(void); は、K&R でも ANSI C でもおかしい....
と私は思っているのですが... あっているかな?? (^^;

・int main(void)
そういえば 仮引数に void と書く int main(void) などは、引数がない と解釈するのは、 変ですよね。void型で引数があることになりますが...

・ストラップ
NetBSD ストラップは何色か持って います。部屋の Goods 保管用の引き出し(^^; に何本か保存されています。保存されているのが どんな色の組み合わせのものがあったか、帰宅してから現物をみないとわかりませんが...

・What date is today?
いかん、今日はまだ 18日だ。日付を1日分勘違いして入力してしまったようだ...
うーん このまま、明日なにも書かねば 万事OK? (^^;