C言語ポインタ完全制覇
- 作者: 前橋和弥
- 出版社/メーカー: 技術評論社
- 発売日: 2001/01/01
- メディア: 単行本
- 購入: 22人 クリック: 147回
- この商品を含むブログ (75件) を見る
この本の趣旨は、
- 「C言語における」ポインタ記述を正確に把握する
ことにあります。また、これと同時に、
- プログラムのメモリ上のイメージを捉える
ための入門書として良書だと思います。特に、ポインタと配列の違いを正確に理解できていない人にはうってつけの本と言えるでしょう。プログラムのメモリイメージの話題を正確に取っ付きやすく記述した文書は手直に案外なかったりするので、ポインタに対する理解を助ける本として重宝してます。
C言語に限らず、プログラミング言語の文法書には、言語の記述ルールが一通り説明されていますが、記述したプログラムのメモリイメージまで説明されている本は少ないです。スクリプト言語のように、メモリイメージを意識せず、アルゴリズムの記述に集中できる言語もあります。しかし、リアルタイムアプリケーションを記述する場合、DMA転送時のメモリアラインメント、ネットワーク上のバイトオーダーなど、メモリイメージを意識してプログラムを組む機会が出てきます。また、プログラムの半永久動作を要求される場合には、メモリリークや配列のバッファオーバーランが問題になってきます。C言語はメモリの解放し忘れや配列のバッファオーバーランを実行時に検出する仕組みを持ちません。したがって、デバッグ時にプログラムの挙動を脳内のメモリ空間に展開できるとデバッグの手がかりになることがよくあります。
以下、この本の概要です。
- 第0章 本章の狙いと構成――イントロダクション
- 本書の概要
- 第1章 まずは基礎から――予備知識と復習
- 第2章 実験してみよう――Cはメモリをどう使うのか
- 第3章 Cの文法を解き明かす――結局のところ、どういうことなのか?
- 第4章 定石集――配列とポインタのよくある使い方
- 多次元配列を関数に渡す、関数から返す
- 可変長配列
- 第5章 データ構造――ポインタの真の使い方
- 単語の出現頻度を求めるプログラム
- 連結リスト(一方向、双方向)
- 二分探索
- 木
- ハッシュ
- ドローツールプログラム
- 継承と多態性
- データ構造におけるポインタは手続きにおけるgotoに相当するもの。しかし、ポインタがなければ、まともなデータ構造は構築できない
- 単語の出現頻度を求めるプログラム
- 第6章 その他――落ち穂拾い