プログラムAでは、nameメンバがchar型の固定長配列として定義され、構造体の代入を行った際メンバ全体がコピーされる。 よってp1とp2は独立しているため、p2.nameはKandaとなり、p1.name[0]を変更されたp1.nameはPandaとなる。 プログラムBでは、nameメンバがポインタとして定義され、構造体の代入を行うとアドレスがコピーされる。 この時p1.nameとp2.nameは同じメモリ位置を指すため、p1.name[0]を変更すると、p1とp2どちらもname[0]が変更されPandaとなる。