>>671
char *p="abcd";
は、
char p[5];
p[0] = 'a';
p[1] = 'b';
p[2] = 'c';
p[3] = 'd';
p[4] = '\0';

と、等価と思っていいです。
"abcd"は、abcdという文字列を表現する、charの配列を返します。
ポインタと配列の関係はわかってますよね?