1. char  *p = "ABC";

2. char  *p;
    p = "ABC";

 1と、2は同じ意味らしいです。
http://www.ht-net21.ne.jp/~sgwr-t/sec10-3.htm (上から7行目くらい)

 1は解るのですが、2が「 *p = p 」になると
思うのですが。
 ポインタって、1日で理解するのは無理ですか?