質問: { "fjioauuqpeiowqiepweee", "ewqeuqwe8w7qew", "vmsc;aiwoequreytqewqe", "vklauskdruoytiyrieqwqqaaaaaa", "gggggggggg" }; ``` 今度こちらにすると、エラーになります。 error C2078: too many initializers warning C4047: 'initializing': 'char (*)[200]' differs in levels of indirection from 'char [22]' と出てきます。初期化が多すぎるようです。 (*p)[200]の方は、別の2次元配列を宣言しておいて、それを使って、初期化することはできます。 ・・・・? なんで上は大丈夫なのに、下はダメなの?? 下の場合、文字列の実体はどこにありますか? 静的記憶期間な予感がするのですが、どうでしょうか?? char (*p)[200] こいつ、扱いにくい・・・です。 どなたか教えてください。
回答: 静的記憶期間に存在するからこそ char (*p)[200]これでは、初期化できないんですね! ポインタが1つに対して、複数の先頭アドレスを格納できない! ということですね! 自分で納得してしまいました。 すいません。 下らない質問をして・・・