strcpyで初期化すれば、NULL以外で初期化しなければならなくなったときに、最小限の変更で済むし
自分以外がその変更をする場合でも恐らく大丈夫だろうと思われる
*p = '\0';では、>>31みたいな変更をされた挙げ句、>>37な奴で、結果mallocした領域を駄目になって謎のエラーに悩むはめに...

猫の手を借りるためには、猫に理解できるコードを書かなければならない...orz