度々で、もうしわけありません

幾ら考えても、どうしても、
>>(3) pに入っているアドレスからs[0]のアドレスを引いて1を足す
がわかりません。
もう一度、解説お願い致します。

>>289の解説を読む限りでは
>>(1) pにはs[0]のアドレスが代入される
これは、s[0] = Iのアドレスと解釈しても宜しいのでしょうか?
例、s[12]ならアドレスは1245059

やはり、p−s+1がいまいちピンときません
pとは何なのか、sが何なのか・・・・など。


>>289
実行したら、こうなりました

"I love dog and cat."の中から'a'を探します。
1245059文字目で発見しました。
1245064文字目で発見しました。
全部で2個見つかりました。

>>pのアドレス番地からスタート地点s[0]のアドレス番地を引いた数+1を行う.
もう少し詳細に説明して戴けると、幸いです。