>16
コンパイル通らないぞ
>p=&p[1];
>q=&q[1];

だいたい、
p[1]自体、*型のp+1なわけで、
Buhi* pa;
Buhi a[値];
なら、
pa=a;と書けるわけで、
しかし、a=pa;とは書けないわけで、
やりたけりゃ、
charならstrcpy[a,pa]もしくはlstrcpy使えるわけで、
strcpyやlstrcpyがあるのは、
このようにchar配列→char*型に入れられるという存在意義が大きいわけで