| Cプログラミングの落とし穴 ISBN4-8101-8014-X トッパン(出版活動停止)
|
| 原題:C Traps and Pitfalls |
| A.コーニグ 著 (A. Koenig) |
| 中村明 訳 |
A5判 158ページ 本体価格¥2,233. 90年2月5日初版発行 |
AT&Tベル研究員である著者は、長年にわたるCでのプログラミングの経験の中から実例を取り上げ、なぜCの専門家でさえもプログラムの「落とし穴」に落ちるのかを説き、プログラマの日々の悩みであるデバッグの問題を解決しようとしている。著者は、自分自身が落ちた「落とし穴」に読者が落ちないことを願いこの本を書いている。
| アジソン
ウェスレイ・トッパン情報科学シリーズ(8) ・・・・目次・・・・
| 第0章 序 |
3 |
| 第1章 レキシカル(語彙的)な落とし穴 |
|
|
1.1 =は==ではない |
6 |
|
1.2 &と|は||ではない |
7 |
|
1.3 食いしん坊な語彙解析 |
8 |
|
1.4 整数定数 |
9 |
|
1.5 文字列と文字定数 |
10 |
| 第2章 シンタクティック(構文的)な落とし穴 |
|
|
2.1 関数宣言を理解する |
13 |
|
2.2
演算子はいつも望むような優先度であるとは限らない |
17 |
|
2.3 セミコロンに気をつけろ |
20 |
|
2.4 switch文 |
22 |
|
2.5 関数を呼ぶ |
24 |
|
2.6 ぶらさがりelse問題の扱い |
25 |
| 第3章 センマティック(意味的)な落とし穴 |
|
|
3.1 ポインタと配列 |
29 |
|
3.2 ポインタは配列ではない |
34 |
|
3.3 仮引数としての配列宣言 |
36 |
|
3.4 提喩法を避ける |
37 |
|
3.5 ヌルポインタはヌル文字列ではない |
38 |
|
3.6 数え上げと非対称な境界 |
39 |
|
3.7 評価順序 |
50 |
|
3.8 演算子(&&, ||, !) |
52 |
|
3.9 整数のオーバフロー |
54 |
|
3.10 mainからの返却値 |
55 |
| 第4章 リンケージ |
|
|
4.1 リンカとは |
57 |
|
4.2 宣言と定義 |
59 |
|
4.3 名前の衝突とstatic指定子 |
61 |
|
4.4 実引数と仮引数と返却値 |
62 |
|
4.5 外部の型のチェック |
68 |
|
4.6 ヘッダファイル |
71 |
| 第5章 ライブラリ関数 |
|
|
5.1 getcharは整数を返す |
76 |
|
5.2 連続ファイルの更新 |
77 |
|
5.3 バッファ出力と記憶領域割当て |
78 |
|
5.4 エラー検査にerrnoを用いる |
79 |
|
5.5 signal関数 |
80 |
| 第6章 プリプロセッサ |
|
|
6.1 マクロ定義における空白の問題 |
84 |
|
6.2 マクロは関数ではない |
84 |
|
6.3 マクロは文ではない |
88 |
|
6.4 マクロは型定義ではない |
90 |
| 第7章 移植性の落とし穴 |
|
|
7.1 変化に対処する |
94 |
|
7.2 名前には何があるか |
96 |
|
7.3 整数の大きさはどれくらい |
97 |
|
7.4 文字は符号付きか符号なしか |
98 |
|
7.5 シフト演算子 |
98 |
|
7.6 メモリ番地0 |
99 |
|
7.7 割算はどのように切り捨てるか |
100 |
|
7.8 乱数の範囲 |
101 |
|
7.9 大文字小文字変換 |
102 |
|
7.10 先に解法で、次に再割当てか |
103 |
|
7.11 移植性問題の一例 |
105 |
| 第8章 助言と解答 |
|
|
8.1 助言 |
110 |
|
8.2 解答 |
113 |
| 付録 PRINTF, VARARGS, STDARG |
131 |
| 訳者参考文献 |
153 |
| 索引 |
155 |
|
|
|