>># あ、本の中の英語の文章ですが、可算名詞に冠詞が抜けているものが少なからず
>>ありました…
>
>これは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版でも仰っている
ように)必要な冠詞を抜かさず英語としてまともな文章になさるほうが良いと、僕は
思います。