*p = str でpの中身がstrのアドレスになって
*(p+j)によってstrの先頭アドレスにjを足したアドレス格納されてる数値を示しているということでしょうか?