プログラミング学習シリーズ C言語改訂版 2 はじめて学ぶCの仕組み
- 作者: 倉薫
- 出版社/メーカー: 翔泳社
- 発売日: 2009/02/13
- メディア: 大型本
- 購入: 2人 クリック: 6回
- この商品を含むブログ (3件) を見る
- 作者: Lepton
- 出版社/メーカー: 翔泳社
- 発売日: 2009/03/11
- メディア: 大型本
- 購入: 9人 クリック: 172回
- この商品を含むブログ (11件) を見る
ただし,「悩み多き」と言っても,リアルタイムで取り組んでいる課題の中で,自分の期待する動作になるようどう書けば良いかという悩みには,必ずしも答えてくれるとは限りません.
これらから学んだことを並べます.出典について,「はじC2」「C作法」と書名を略記しています.
- sizeof("hello")は6.つまり,文字列リテラルは配列*1.(はじC2 pp.26-28)
- 関数ポインタの変数定義時に引数情報を書かないことで,その変数を使って,異なる数の引数を与えて呼び出せる.(はじC2 pp.218-222)
- どうやらmallocの結果をポインタ変数に代入する際のポインタ型のキャストは不要らしい.(はじC2 p.231他,C作法 p.42他)
- C89でint型変数hogeに-2147483648を格納したいとき,「int hoge = -2147483647 - 1;」*2.(C作法 p.28)
- Cのfor文で,複数の変数に初期化や増分を書くときの「,」は演算子なのに対して,Javaのそれは構文規則として定められている.(C作法 pp.47-48)
- strncatは,連結のバイト数にかかわらず,必ず最後に '\0' がつく.(C作法 p.121)
- typedef struct { (略) } Person, *PPerson;のように書くと,一つの宣言で複数の型名が定義できる.(C作法 p.146)
この2冊は,Cの面白いところを伝えることを仕事とする人*3にとっては宝の山です.深く読み込み,他書と比較検討してから,また取り上げることにします.