K.Maebashi's BBS

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

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


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


[2077] 【C言語ポインタ完全制覇】3-1-2 Cの宣言を解読する
返信


投稿者:knwifuru
2017/12/21 10:26:47

Link:
バカな質問ばかりして恐縮です。

第1版のp144に『⊆永婿劼剖瓩なから、優先順位に従って派生型(ポインタ、配列、関数)を解釈する。』とあります。

これでいくと、Table 3-1の3番目、
  int hoge[10][3];
は、
 「識別子"hoge"に一番近いのは、配列[10]。その次が配列[3]。最後に、int」
なので、
 「要素数10個の配列が、3つ並んで(また配列を作って)いる。(基本型はint)」
となると思えるのですが、“日本語的表現”では
 hoge は、intの配列(要素数3) の配列(要素数10)
と、「要素数3の配列が10個並んでいる」という意味とされています。(Fig. 3-15でも同様)

結局、Cの宣言は、日本語的に考えるとダメで(識別子から遠い側の配列宣言[3]を先に解釈しないと正しくない)、英語で表現して考えないとダメだ、ということなんでしょうかね…
(質問というか、ぼやき?)

"'hoge' is an array (with 10 elements) of an array (with 3 elements) of int."

# あ、本の中の英語の文章ですが、可算名詞に冠詞が抜けているものが少なからずありました…
[ この投稿を含むスレッドを表示] [ この投稿を削除]



[ より新しい投稿] [ より古い投稿]