K.Maebashi's BBS

ご自由に書き込んでください。雑談も可。
テスト書き込みの類はテスト用掲示板にどうぞ

[日付順表示] [日付順インデックス] [スレッド順インデックス]

新規投稿 | 開設者ホームページへ戻る | ヘルプ

[2080] Re:【C言語ポインタ完全制覇】3-1-2 Cの宣言を解読する
投稿者:knwifuru
2017/12/22 09:15:25

>># あ、本の中の英語の文章ですが、可算名詞に冠詞が抜けているものが少なからず >>ありました… > >これはK&Rのdclもそうなっているからいいだろう、ということで付けていません。 >第2版では、p.163に注の形で言い訳を入れました。 >(韓国語版では、訳者の方が足してくれたりしたようですが) ># この注で、「declでも付けていませんし」とあるのはdclの間違いですね… ># 後ほど正誤表に挙げます。 あ、本当だ! この件に関しては、第2版を確認せずに投稿しちゃってました… (^^; 確かに、K&$第二版日本語版のp149の、dcl『の実行結果』も、冠詞が抜けています。 原著第二版(1988)のp122ページの『実行出力』でも、ありませんね。 また、"Pointers on C" (Kenneth A. Reek, Addison Wesley(1988))のp355で 紹介されている、cdeclというプログラム https://cdecl.org/ https://github.com/ridiculousfish/cdecl-blocks 『の出力』でも、冠詞は省略しているみたいですね。 $ cdecl Type `help' or `?' for help cdecl> explain int(*f)(void); declare f as pointer to function (void) returning int しかし、これは、あくまでプログラム出力を簡潔にするためだと思います。 実際、"C - A Reference Manual (5ed.)"(Harbison & Steel, Prentice Hall (2002))の 4 Declarationsという章の最初のページ(p73)にも Declarations in C are difficult to describe for several reasons. First, they involve some unusual syntax that may be confusing to the novice. For example, the declaration int (*f) (volid); declares a pointer to a function taking no arguments and returning an integer. と、文章ではきちんと冠詞をつけていることからも、英語としては冠詞が必要である ことが明らかですし、K&R原著第二版で配列が最初に説明される 1.6 Arrays (p22)で でだって、本文文章では The declaration int ndigit[10]; declares ndigit to be an array of 10 integers. と書かれています。 というわけで、プログラム出力は兎も角として、解説の文章では(第2版でも仰っている ように)必要な冠詞を抜かさず英語としてまともな文章になさるほうが良いと、僕は 思います。
[この投稿を含むスレッドを表示] [この投稿を削除]