文法宣言
新人研修用にC言語の資料を作成中。K&R2ndを元に、文法要約を作ったのだが、つながりがわからない所がある。やっぱり宣言のところ。
init-declarator
初期宣言子かな?初期化付と無しのの宣言子をまとめたものかな?
declaration:
declaration-specifiers init-declarator-listopt ;
だから以下の宣言があった場合、それぞれの要素は以下のようになるはず。
static const char *hoge = {"hoge", "fuga"}; static const int → 宣言指定子 static → 記憶クラス指定子 const → 型修飾子 char → 型指定子 *hoge = {"hoge", "fuga"} → 初期宣言子 {"hoge", "fuga"} → 初期値式 *hoge → 宣言子 hoge → 直接宣言子 hoge → 直接宣言子(入れ子になっている。)