c言語をcppreference.comというサイトで学習している際に配列宣言子に関する以下の記述を見つけました。(リンク内容)
noptr-declarator [ static(option) qualifiers(option) expression ]
配列宣言子: 宣言 S D[N] は S によって決まる型のオブジェクト N 個の配列として D を宣言します。 noptr-declarator は括弧で囲まれていないポインタ宣言子を除く任意の他の宣言子です。
(備考) ポインタ宣言子: 宣言 S * cvr D は S によって決まる型への cvr 修飾されたポインタとして D を宣言します。
しかし、同サイトの配列の宣言に関するページ(リンク内容)には、
float fa[11], *afp[17]; // fa は float 11個の配列です。 // afp は float へのポインタ17個の配列です。
のようなコードが紹介されており、検索してみたところ、ポインタ配列と呼ばれる概念であることが分かりました。*afpはポインタ宣言子だと思うので、これは一見すると配列宣言子の、ポインタ宣言子を宣言子として用いることができないという説明に反しているように思えます。正しい解釈をする上で何か重要な点を見逃しているのでしょうか、それとも、参照元の記述に誤りがあるのでしょうか。意見をお聞かせください。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/05/09 11:32