まだ加筆予定 目標は char (*p)[5]を完全に理解するぐらいまでにはポインタを理解すること。 ポインタと配列の違いは一言でいうならば、書き換えができるか否かである。 ポインタと配列の混乱の元 1:配列名aを読み込む場合、aは&a[0]と解釈される。 2:ポインタbの参照先が配列の場合、でアクセスできる。(もちろん書き込み、読み込み両方の意味で) 3:文字を''で囲めばchar型になるし、""で囲めば、char* 型になる. (ただし、char型配列を""で初期化(代入ではない)するときは""で囲まれた文字列をいったん別のところにコピーしてから配列に 入れなおしている。) ようするにchar型,char*型のときポインタと配列の規則がかなりややこしい。 4:プロトタイプ宣言では、引数にchar sと配列型を指定したとしても、ポインタとして扱う。 int a[5] = {0,1,2,3