引数がない関数宣言にはvoidが必要(C学習中)
今日覚えたこと
- 引数のない関数を宣言するときは、括弧の中にvoidと書く必要がある。
これはだめで、
int main()
こうするらしい。Javaと違う。
int main(void)
- scanfで、値を受け取る変数に&を付け忘れると、値が受け取れない。その箇所以外で、変数に代入が行われていないと、変数が初期化されず、Run-Time Check Failure が出る。
- int型の0が偽、1が真
- if文の括弧の中は、Javaのように条件文ではない。制御式であり、intで0か1が入る。
- return 0 と return (0) のどっちを使えばいいのか。何か違いはあるのか。
- 書くときは統一されていればOK。評価に違いはない。
わからないこと
- プロトタイプ宣言の詳細
- 上のURLの説明をまだあまり理解できてない。
何やってる?
『新版 明解C言語 中級編』を借りてきたので、写したり、書き換えたり、分からないことを調べたり。基本的な標準関数をもっと把握して、man引きながら読むのから脱したいなぁと。
この本には、以前Haskell読書会のメモで書いた C言語の if〜else ifはif文の入れ子であるという話も載っていました。