K&R2の日本語訳について(第1章)

\documentstyle[ASCMAC,a4j,12pt]{jarticle}

\pagestyle{plain}

\begin{document}

\title{K&R2日本語訳訂正表}
\author{第1章}
\date{}
\maketitle

6 ページ

3 行目,
「完全あるいは正確であることは」
は
「完全であること,あるいは正確であることさえ」
とする。
(even が訳されていない。)

7 行目,
「非常に」は原文になし。

8 行目,
「数多くのこまごました機能など」
は
「標準ライブラリ」。

10 行目,
「特定言語の特徴」
は
「言語の特定の特徴」。

11 行目,
「説明が舌足らずで」
は
「テュートリアルは短いので」。

12 行目,
「例だけではCの全機能が使えないから,
例は意図したほど簡潔にもエレガントにもなりえない恐れがある」
は
「例はCの全機能を使っていないから,
できうる限り簡潔でエレガントである,というわけではない」。
(as they might be を「できうる限り」と訳してみた。)

14 行目,
「後の章で本章の一部を繰り返す必要性がある」
は
「後の章が必然的に本章の繰り返しになる」。

15 行目,
「ただし,この繰返しは,読者にとって,わずらしいものというよりは,
一層の役に立つものであることを望みたい」
は
「この繰返しが,
読者をわずらわせる以上に読者に役立つことを望みたい」。

$-$2 行目,
「書いてみるとよいであろう」
は
「書いてみて本章の内容を補うべきである」。

「第2章から始まるもっと詳しい説明を学ぶための概論として
本章を役立てていただきたい」
は
「第2章からのより詳しい説明を吊るしてゆく骨格として
本章を役立てていただきたい」(ヘンかな)。


\vspace{3mm}

7 ページ

6 行目,
字下げすること。

7 行目,
「これが基礎となる障害物だとしよう」
は
「これは大きなハードルである」。
「どこかでプログラム・テキストを作り」
は
「どこかに…」。

8 行目,
「上手にコンパイルし」
は
「コンパイルに成功し」。
%
「出力がどこに行くか」
は
「出力がどこに行ったか」。

10 行目,
「比較的容易」
は
「それに比べれば容易」。

11 行目,
hello, world は `` " で囲む。

17 行目,
「プログラムを」
の前に「この」を入れる。

$-$5 行目,
「スムースに」
は
「静かに」。
(エラーメッセージなどが出ずに,の意?)


\vspace{3mm}

8 ページ

1 行目,
「出力として出てくる」
は
「印字される」。

2 行目,
「周囲の」
は
「そのシステムの」。

4 行目,
computing operations を「計算の過程」と訳すのはどうかなあ……。


\vspace{3mm}

9 ページ

1 行目,
「空のリスト」を「\verb"()"」の前に入れる。
%                 ^^^^^^^^^
%                () が出力されます。:-)

2 行目,
「大カッコ」
は
「中カッコ」。

6 行目,
 \verb2"hello, world\n"2 のように、タイプライタの字体にすべきである。

13 行目,
「端末を」は「出力を」。
(left margin は本当は「左の欄外」?)

18 行目,
「引用符がないという」は余分。


\vspace{3mm}

10 ページ

2 行目,
「エスケープ符号列」は「エスケープ列」。
235 ページではそうなっている。
(hard-to-type は「表現しにくい」なのかなあ……。
「打ちにくい」である可能性は?)

3 行目,
「Cで使う他の記号のは,tab を表わす…」
は
「Cに用意されているエスケープ列の中には,タブを表わす…」。

演習 1-2, 
{\tt x} は原文では {\tt c} である。

1.2 の表題の「変数と算術」は「変数と算術式」。

$-$3 行目,
{\tt hello, world} は \verb'""' で囲む。


\vspace{3mm}

11 ページ

3 行目,
{\tt f} は {\tt fahr} とする。

「摂氏 - 華氏」は「華氏 - 摂氏」(「カ氏 - セ氏」?)。

プログラム例の直後,
「最初の1行 /* ... */」
は
「/* ... */ の2行」。

$-$12 行目,
「こうした文章」
は
「すべての文字」。

$-$10 行目,
「空白 (blank)」の直後に「あるいはタブ」を入れる。

$-$9 行目,
「すべての」はゴチにする必要なし。

$-$2 行目,
「精度」は「範囲」。
「特定の」は不要。

$-$1 行目,
「ないし」は「と」。
「の間にある」は「の間である」。
「32 ビットの {\tt int} が普通であるのと同じくらい
16 ビットの {\tt int} も普通」,
って言ってるんじゃないのかな?


\vspace{3mm}

12 ページ

11 行目,
「実際の」は不要。
「代入文」はゴチにする。

16 行目,
「個々の文の終わりはセミコロンで区切っておく」
は
「個々の文はセミコロンで終わる」。
(セミコロンは文の一部です,なんて細かいことをうるさく言いたかないけど。)

18 行目,
「同じ式」は「同じ方法で」。
「のがよい」は原文になし。

19 行目,
「{\tt while} 文」は「{\tt while} ループ」。

$-$8 行目,
「この」は不要。

$-$7 行目,
「(大カッコで囲まれた3つの文)」とする。


\newpage

13 ページ,

3 行目,
「でもよい」は「である」。

4 行目,
「tab ストップ」
は
「タブストップ(ここでは空白4文字分)」。

5 行目,
「Cでは文の位置はどこにあろうとまったくかまわないが,
適当な字下げと空白のスペースを利用することはプログラムを読みやすくするのに」
は
「Cコンパイラはプログラムがどのように見えようと気にしないが,
適切な字下げと空白は人間にプログラムを読みやすくするのに」。

8 行目,
「(普通は)」は原文になし。
%
「空白を残す」は「空白を置く」。

9 行目,
「凝る」というよりは「うるさい」ぐらい?

10 行目,
「好まれている」よりは「よく使われている」。

12 行目,
「摂氏の温度を求めるのは次の式である」
は
「次の式で,セ氏の温度が計算され変数 {\tt celsius} に代入される」。

18 行目,
「もちろん」は原文になし。

20 行目,
「実際には」は原文になし。

21 行目,
「ここでは」は原文にないと思う。

22 行目,
「の一つ」は訳すと意味がわかりにくいと思う。

$-$2 行目,
「{\tt printf} の最初の引数では,おのおのの \verb"%" 記号は,
それに対応する第2,第3などの引数と対になっている」
は
「{\tt printf} の最初の引数の \verb"%" は,
第2の引数,第3の引数などと対応している」。
(construction, pair を訳さなかった……。)


\vspace{3mm}

14 ページ,

2 行目,
「ではない」はゴチでない。

4 行目,
「一部である」は原文にない。

9 行目,
「第7章の」は原文にない。

14 行目,
「…よく,それで」は「…,」。

16 行目,
「数字」は「数」とする。
「数字」は「数」とする。

$-$7 行目,
「$-$17 ℃」の「℃」は原文にない。

$-$3 行目,
11 ページ 3 行目と同じ。


\vspace{3mm}

15 ページ,

17 行目,
「浮動小数点を表わすから」は
「浮動小数点数であることを表わすから」。

$-$11 行目,
「整数値をもつことがわかっている場合でも」
は
「整数値をもつ場合でも」。


\vspace{3mm}

16 ページ,

$-$10 行目,
「周知のように,プログラムを書くにはいろいろのやり方がある」
は
「一つの仕事に対し,プログラムの書き方はたくさんある」。

$-$7 行目,
摂氏と華氏が逆。


\vspace{3mm}

17 ページ,

7 行目,
「同じ型の式」
は
「同じ型のより複雑な式」。

10 行目,
「for 自体は」
は
「for は」。

11 行目,
「for には」
は
「小カッコの中には」。

$-$11 行目,
「単に {\tt printf}」は「{\tt printf} 一文のみ」。
「再初期化」は「増分」(以下同様)。

$-$6 行目,
「初期化と再初期化の部分は,一つの式なら…」
は
「初期化,条件,増分は,式なら…」。


\vspace{3mm}

18 ページ,

6 行目,
「たいした意味をもたないし」は「わずかな情報しか与えてくれないし」。

7 行目,
「それ」は「プログラム」。(このままだと“魔法の数”とも読める。)
「幸いにして,Cにはそうした邪魔な数を避ける方法がある。
プログラムの初めに置く \verb"#define" 構文がそれで,これを使えば,
次のように {\gt 記号名} すなわち {\gt 記号定数} として,
特定の文字列を定義することができる。」
は
「魔法の数を扱う一つの方法は,それらに意味のある名前をつけることである。
\verb"#define" で始まる行は {\gt 記号名} あるいは {\gt 記号定数}を
特定の文字列のことであると定義する」。

10 行目,
原文では

\verb"#define" {\it name ~~ replacement text}

となっていて,以下の説明では {\it name}, {\it replacement text} が
使われている。これを下手に訳してしまうと,11 行目のような問題が生じる。

11 行目,
字下げは不要。
「そうした名前が引用符なしに出てくると」は
「そうした名前が出てくると
(引用符の中にある場合,他の名前の一部である場合を除く)」。
「対応する文字列」では,10 行目の「それと置き換えるべきテキスト」と同一である
ことがわかりにくい。

13 行目,
「文字例」は「文字列」。

$-$12 行目,
「ステップ・サイズ」は前の例の「きざみ」と原語は同じである。

$-$11 行目,
摂氏と華氏が逆。

$-$3 行目,
「記号名」は「記号定数名」。

$-$2 行目,
「後」は「終わり」。
(「後」だとその次の行かと思われてしまう。)


\vspace{3mm}

19 ページ,

2 行目,
「簡単な」は原文にない?

3 行目,
「プロトタイプ」は訳すなら「原型」?

7 行目,
「この」は不要。

13 行目,
「get-」の前に
「それらの中では,{\tt getchar} と {\tt putchar} が最もシンプルである」。

$-$6 行目,
「通常,画面に整数変数 {\tt c} の内容を示すのに使われる」は
「整数変数 {\tt c} の内容を印字する。印字は普通は画面に行われる」。


\vspace{3mm}

20 ページ

1 行目,
「1文字読む」とする。

2 行目,
「end-of-file 指示子でない」。

4 行目,
「1文字読む」とする。

18 行目,
「他のすべてのデータと」の前に「もちろん」を入れる。

22 行目,
「正しい」は「有効な」。
「その解決には,これ以上入力がないというときには,
{\tt getchar} で特別な値,どの文字とも決して混同されることのない値,
を返すようにするのがよい」
は
「これは,もう入力がない場合には
実在するどの文字とも混同されることのない特殊な値が
{\tt getchar} から返されることで解決されている」。

$-$2 行目,
「実際に」は原文にない?


\vspace{3mm}

21 ページ,

2 行目,
「といった任意の代入文は,式の中に書ける。その値は,単に左辺に代入される値で
ある」
は
「といった任意の代入文は式であり,値を持っている。
その値は,代入後の左辺の値である。
このことは,代入はより大きな式の中に書けることを意味する」。

3 行目,
「ファイルを複写するプログラム」は「複写プログラム」。

13 行目,
「このプログラムでは,文字を一つとって {\tt c} に代入した後,
その文字がファイルの終りの目印かどうかを {\tt while} で調べている。
目印でなければ,{\tt while} の本体が実行され,その文字が印字される。
ついで,繰り返される入力が最後に終りとなると,
この {\tt while} は終りとなり,したがって {\tt main} も終りとなる」
は
「{\tt while} が文字をとってきて {\tt c} に代入し,
ファイルの終わりを示す文字かどうかテストしている。
ファイルの終わりを示す文字でなければ,
{\tt while} の本体が実行され,その文字が印字される。
{\tt while} は繰り返される。
入力の終わりに達すると {\tt while} は終了し,{\tt main} も終わる。」

$-$10 行目,
「テストの中に代入文を埋め込むことは,Cに許される貴重な圧縮記法の一つである」
は
「できたプログラムはよりコンパクトになるし,
イディオムは一度マスターしてしまえば読みやすくなる」。


\vspace{3mm}

23 ページ,

2 行目,
「他の機種では {\tt int} は 16 ビットで」は
「{\tt int} が 16 ビットの機種もある」。

3 行目,
「小さな」は「少しの」。

$-$15 行目,
インデントは不要。
「\verb"%0f" では存在しない小数部の印字が抑止される」は
「\verb"%.0f" は小数点と小数部(0)の印字を抑止する」。

$-$13 行目,
「空」はゴチでない。
「再初期化」は「増分」。

$-$11 行目,
「ここの要求をここで満たしているのは,
独立したセミコロン,技術的にいえば {\gt 空文} である」
は
「孤立したセミコロンは {\gt 空文} と呼ばれるが,
この要求を満たすために置かれている。」

$-$10 行目,
「〜するとよい」とは原文は言ってません。

$-$7 行目,
「当然の答」は「正しい答」。

$-$6 行目,
「。」の次に「これは重要である。」を入れる。
「頭」はゴチでない。

$-$5 行目,
「ループの本体に入ることはなく」は
「それが,ループの本体にはいることが決してない,ということを
意味するのであっても」。

$-$4 行目,
「“文字なし”というような入力」は「長さ 0 の入力」。


\vspace{3mm}

24 ページ,

2 行目,
「行数」はゴチでない。

3 行目,
「各入力ストリーム」は「入力テキストストリーム」。
「改行で区切られた」は「改行で終わる」。

$-$12 行目
「この記号は」の次に
「Cでは」を入れる。

$-$10 行目,
「文法違反ではないから」は「合法的な式であるから」。

$-$8 行目,
「次に,機械の文字セットの中において,文字の内部表現に等しい値を求めるには,
単一の引用符で囲んで任意の1文字を書けばよい」
は
「一重引用符の間に置かれた一個の文字は,
マシンの文字セットでのその文字の数値に等しい整数値を表わす」。

$-$2 行目,
「有効」よりは「合法」。
「したがって,判定文や式の中でも,\verb"'\n'" は改行コードの値を表わす」
は
「したがって,\verb"'\n'" は改行文字の値を表わす。
それは ASCII では 10 である」。


\vspace{3mm}

25 ページ,

1 行目,
「と等価」は不要。

演習 1-9,
「二つ以上の空白の並び」とする。

1.5.4 の 4 行目,
「ゆるやかに」は「ルーズに」? %
「ユーティリティ・」は不要。


\vspace{3mm}

26 ページ,

5 行目,
「カウントを」は「単語のカウントを」。

8 行目,
「リテラル値」って何でしょう? 「文字通りの値」?

11 行目,
「数」は「魔法の数」。

17 行目,
「代入文には値があり,右から左に代入が行なわれる結果である」
は
「代入文は値を持つ式であり,
代入文は右から左へと結合するという事実からの帰結である」。
(右から左へ代入するのは当たり前だろーが!)

$-$8 行目,
「エスケープ文字列」は「エスケープ列」。

$-$6 行目,
「\verb"&&" の優先度は \verb"||" のすぐ上である」。


\vspace{3mm}

27 ページ,

7 行目,
字下げ不要。
「{\tt if-else} で指定される二つの文のうち,実行されるのは一つだけである」
は
「{\tt if-else} の二つの文のうち,
一つの文が,そして一つの文だけが実行される」。

8 行目,
「どちらの文ももっと複雑にすることが可能である」
は
「おのおのの“文”は,一つの文でも,中カッコでくくられた複数の文でもよい」。

10 行目,
「が」は「は」。

演習 1-13,
原文にないぞっ!

$-$14 行目,
「空白」の原語 white space, 「ブランク」は space.
前には space は「空白」と訳されていたので注意。

$-$10 行目,
「把握」は「保持」? %
「異った」は「別々の」。

$-$9 行目,
「プログラム形式」は「プログラムのバージョン」。


\vspace{3mm}

28 ページ,

17 行目,
「宣 言」の間のスペースは不要。

$-$12 行目,
「{\tt ndight[1]}」は「{\tt ndigit[1]}」,
「{\tt ndight[9]}」は「{\tt ndigit[9]}」。

$-$11 行目,
「初期化と,配列の印字との {\tt for} ループに」
は,私だったら
「初期化と配列の印字の2つの {\tt for} ループに」
とするなあ。

$-$10 行目,
「もちろん」は原文になし。

$-$3 行目,
「…が連続して増加してゆく値をとる」は
「…の値が連続的に増加してゆく」。

$-$2 行目,
「幸いこれは通常の文字セットすべてに当てはまる」
は
「幸いこれはすべての文字セットに当てはまる」。


\vspace{3mm}

29 ページ,

11 行目,
「パターン」は字下げ不要。

$-$15 行目,
「このプログラムはある {\gt 条件} が満足されるまで上から順に読まれ,
条件が満足されたところでそれに対応する {\gt 文} が実行され,
それでこの構文はすべて終了となる」
は
「{\gt 条件} が上から順に評価され,どれか一つが満たされると
その時点で対応する{\gt 文} が実行されて,この構文から抜ける。」

$-$13 行目,
「もちろん」は不要。

$-$6 行目,
「スタイルとしては,長い判断文でもページの右側にはみ出ることはないように,
この構文を前記のように書くのが賢明である」
はその直前で段落を変えて,
「スタイルの問題としては,この構文は上のようなフォーマットで書くことを勧める。
もしも {\tt if} ごとに直前の {\tt else} よりも字下げしたら,
長い判断文はページの右へはみ出してしまうだろう」。

$-$3 行目,
「これはテストする条件において,ある整数や文字式が…」は
「これはテストする条件がある整数式や文字式が…」。

$-$2 行目,
「第3章で」は「3.4 節で」。


\vspace{3mm}

30 ページ,

演習 1-14,
これは原文では抜けているので私訳:
「入力における異なる文字ごとの出現頻度のヒストグラムを
印字するプログラムを書け。」

7 行目,
「ブラックボックスの中につめ込む」は
「カプセル化する」。
「関数は実際」以下の文は原文になし。

16 行目,
「整数 $m$ を正整数 $n$ でベキ乗する」
は
「整数 $m$ の正整数 $n$ 乗を求める」?

17 行目,
「例えば,{\tt power(2,5)} の答は 32 と出せるようにしたい」
は
「つまり,{\tt power(2,5)} の値は 32 である」。


\vspace{3mm}

31 ページ,

1 行目,
「{\tt base} を {\tt n} のベキ乗する」
は
「{\tt base} の {\tt n} 乗を求める」。

10 行目,
「どちらの関数も次のように同じ形をしている」
は
「関数定義は次の形をとる」。

11 行目から,
原文のままだっ! 訳してないぞっ!

$-$16 行目,
インデント不要。
「これらの関数は…」は
「関数定義は…」。

$-$15 行目,
「。」の後に
「ただし,一つの関数を複数のファイルに分割してはならない」を入れる。
「もちろん」は原文になし。

$-$14 行目,
「手間がかかる」は「多くのコマンドが必要だ」ぐらいの意であろう。
「時間がかかる」の意味ではないので注意。

$-$13 行目,
「OS」は「オペレーティング・システム」。

$-$11 行目,
「何一つ変わらない」は「そのまま通用する」。

$-$2 行目,
「結果」は「結果の型」。
「パラメータを表わすのに,
{\tt power} 内で使われる名前は
純粋に {\tt power} にだけ使われる局所的なものであり,
他の関数からアクセスすることはできない」
は
「{\tt power} のパラメータ名は,{\tt power} に局所的なものであり,
他の関数からは見えない。」


\vspace{3mm}

32 ページ,

2 行目,
「矛盾」よりは「衝突」。

$-$7 行目,
「関数のプロトタイプ」は「関数プロトタイプ」。

$-$6 行目,
「使い方」は「使用」?

$-$5 行目,
「使い方」は「使用」?


\vspace{3mm}

33 ページ,

6 行目,
「{\tt base} の {\tt n} ベキ乗を求める」
は
「{\tt base} の {\tt n} 乗を求める」。

$-$7 行目,
「全体的に」は「全く」。

$-$4 行目,
「ANSI C を」は「新しい形を」。

$-$3 行目,
「おすすめしたい」の前に「強く」を入れる。


\vspace{3mm}

34 ページ,

4 行目,
「一時変数の中の引数の値」は「一時変数として引数の値」。

7 行目,
「C の」は原文になし。

9 行目,
「呼んだほうの変数」は
変数が呼んだかのようにとられるので,
「呼んだほうの関数内の変数」。

16 行目,
「{\tt base} の {\tt n} 乗のベキ」
は
「{\tt base} の {\tt n} 乗を求める」。
(原文は同じなのにどうして3回とも違うんだろ?)

$-$8 行目,
「仮の変数」は「一時的な変数」。

$-$6 行目,
「{\tt power} に受け渡された引数」は
「{\tt power} を元々呼び出したときの引数」?

$-$2 行目,
「実際の」は原文になし。


\vspace{3mm}

35 ページ,

2 行目,
「配列の先頭番地すなわちアドレス」は
「配列の先頭の位置すなわちアドレス」。

11 行目,
原文でもそうなのですが,
プログラムもどきの中で,
if の制御する2つの文のまわりには中カッコが必要でしょう。

$-$12 行目,
「他のプログラムの関数としても有効なように,
この関数はできるだけ柔軟な形に書くことにする」
は
「この関数は,他のコンテクストでも使えるように作ろう」。

$-$10 行目,
possible を訳していない。(意味は通じると思うけど。)
「一般的に」は原文になし。

$-$8 行目,
「ようにする必要がある」は原文にないと思う。

$-$7 行目,
「ファイルの終わりとして」は「ファイルの終わりを表わす記号として」。
「最低1文字はあるはずだし,」は「最低1文字はある。」。

$-$5 行目,
「次に」は原文になし。


\vspace{3mm}

36 ページ,

2 行目,
「入力の最大行数」は「入力行の最大長」。

11 行目,
「格納されている最長行」は「最長行がここに格納される」。

22 行目,
「行を入れ」は「行を読み込み」。


\vspace{3mm}

37 ページ,

3 行目,
「一対の引数と返される値」は「一対の{引数と返される値}」と読まれないか? %
私訳「二つの引数と返り値」。
「つながる」は「コミュニケートする」? %
「{\tt getline} の内部では」は「{\tt getline} では」。
(プロトタイプ宣言においてではなく関数定義の中では,の意かも知れないが,
「内部」というと,本当にその“内部”のようにとられると思う。)

8 行目,
「{\tt min}」は「{\tt main}」。

11 行目,
「この宣言は」は「{\tt int} は」?

15 行目,
「{\verb"\0"}」は「{\verb"'\0'"}」。
「ヌル」は「ナル」?

16 行目,
「Cコンパイラ」は「C言語」。
「方法」は「慣習」。

$-$10 行目,
「文字定数」は「(文字)列定数」。
「コンパイラはこの文字を含む文字配列をつくって,
その最後に終りの目印の \verb"'\0'" を置く」
は
「この文字列の文字を含み,終わりを示す \verb"'\0'" で終わる文字配列として
格納される」。

$-$7 行目,
「期待」は「仮定」?

$-$6 行目,
「{\tt copy} を調べてみれば,それが入力引数 \verb"\0" で終っていて,
この文字を出力引数へコピーするという事実を使っていることがわかるであろう」
は
「{\tt copy} も,コピー元の引数が \verb"'\0'" で終わっているという事実を
使っており,文字 \verb"'\0'" はコピー先へ出力される」。

$-$5 行目,
「これらはすべて \verb"\0" が普通のテキストの一部ではないことを意味している」
は
「これらすべては,{\verb"'\0'"} が通常のテキストには現れないことを意味する」。

$-$3 行目,
「このプログラムを離れるに当たって,こういった小さなプログラムには,
幾分まずい点があることをお断りしておく」
は
「ついでに,このような小さなプログラムにさえ,
設計上のむずかしい問題が現われていることに
ふれておくのは価値のあることであろう」。
「例えば,行数の制限よりも大きな行を読み込んだときに {\tt main} では
どうするべきか?」
は
「例えば,{\tt main} は,もしも上限よりも長い行に出会ったらどうするべきか?」


\vspace{3mm}

38 ページ,

5 行目,
「で」は「は」のほうがわかりやすいと思う。

演習 1-16,
「任意の長さの入力行の長さを印字し,その行のできるだけ多くの部分を印字できる
ように改良せよ」,という意味?

演習 1-18,
「空白行はすべて」は「完全に空白な行は」。

$-$12 行目,
「というのは,それらは {\tt main} の内部で宣言され,
他の関数から直接アクセスできないからである」
は
「それらは {\tt main} の内部で宣言されているので,
他の関数は直接アクセスできないからである」。

$-$10 行目,
「ルーチン」は「関数」,
「存在し」は,comes into existence だから「生成され」? %
その直前の「のみ」は意訳すれば「初めて」?

$-$7 行目,
「動的な」は原文になし。

$-$5 行目,
「)」の直前に「静的な記憶クラスの局所変数は,呼び出しと呼び出しの間も
値を保っている」を入れる。

$-$2 行目,
「自動変数…」の前で改行。


\vspace{3mm}

39 ページ,

3 行目,
「用いられる」は「用いることができる」。

5 行目,
「用済みとなった」は「終了した」。

7 行目,
「任意の」は「すべての」。
「これには実際の記憶場所が割り付けられる」
は
「これ(=定義)は,外部変数へ記憶場所を割り当てる」
(set aside って,割り当てるでいいの?)。

14 行目,
「入力の最大行数」は「入力行の最大長」。

17 行目,
「格納されている最長行」は「最長行がここに格納される」。

20 行目,
「特別版」は「特殊化された版」。


\vspace{3mm}

40 ページ,

1 行目,
「特別版」は「特殊化された版」。

16 行目,
「特別版」は「特殊化された版」。

$-$11 行目,
字下げすること。
「…先の例の最初の数行で,…」は
「…上の例の最初の数行で,…」。

$-$10 行目,
「タイプ」は「型」。

$-$9 行目,
「これまで行ってきた宣言と同じである」は
「局所変数の定義と同じである」。

$-$8 行目,
「当然」は原文になし。

$-$7 行目,
「,」の前に「関数内で」を入れる。

$-$4 行目,
「以前に」はゴチでない。


\vspace{3mm}

41 ページ,

2 行目,
「使用」は「存在」?

3 行目,
「のには」は「ために」。

5 行目,
「前で」は「先頭で」。

9 行目,
「特別版」は「特殊化された版」。

12 行目,
「リストが明らかに空であるときには」は
「リストが空であることを明示するには」。

13 行目,
「予約語」は原文になし。

15 行目,
「…を参照する」は「…に言及する」。
「宣言と定義」は「定義と宣言」。

16 行目,
「割り当てられた」は「割り当てられる」。

$-$10 行目,
「このコーディング形式には危険な落とし穴がいくつかある」
は
「外部変数に頼りすぎることには,危険が伴う」。

$-$3 行目,
この直前で一行空行を入れるべきである。

$-$2 行目,
「ビルディング・ブロック」は「(建築に使う)ブロック」。
意訳すれば「材料」?

$-$1 行目,
「よく考えて」でなく「役に立つプログラムをいくつか書いて」の意?


\newpage

42 ページ,

1 行目,
「始めのほう」は「前のほう」。

2 行目,
suggest を「想定する」と訳すのはうまくないと思うが,名案がない。
「かなり」は「やや」?

演習 1-22,
「$n$ 文字目にある」は「$n$ 文字目以前にある」。
「ちゃんと」という言葉はあまり正式でないと思うなあ。「賢く」はどう?

演習 1-24,
「カッコ,中カッコ,大カッコ」は「小カッコ,大カッコ,中カッコ」。
「コメント」の前に「エスケープ列・」を入れる。


\begin{flushright}
岩瀬順一
\end{flushright}

\end{document}