質問: {"XXXX", "DDDD"}; ^~~~~~ ```
回答: `char **p3 = {"XXXX", "DDDD"};` ですが、 `{"XXXX", "DDDD"}` は初期化リストで文字列リテラルの並びです。 文字列リテラルの型は`const char *`で、 `char **`の変数を`char *`で初期化しようとしているので (一つの変数に初期化しようとする値が2つあるので2つ目の`"DDDD"`は捨てられる、これが余分だと言われている) 「型が異なる」と怒られています。 `p2 = p_arr;`の場合、 `p_arr`の型は`char*[2]`(要素が2コのポインタ配列)ですが、ポインタとして評価される時の型は`char**` なので代入出来ます。