そもそも*Pを宣言した時点でポインタ変数Pのアドレスはきまってしまいますよね?
書き換えることなんてできるのかな?うまい方法があるのかな?