>>276
(1) pにはs[0]のアドレスが代入される
(2) pが指している文字がcに等しいかどうか判断
(3) pに入っているアドレスからs[0]のアドレスを引いて1を足す
pがs[0]に等しければp-s[0]+1は1になりprintf("%d文字目で発見しました。\n",p-s+1);は1文字目で〜と出力される
(4) printf("全部で%d個見つかりました。\n",n);を見れば分かるように配列sの中にあるcと同じ文字の個数

>>277
必要になってから覚えればいい
必要を感じないものは覚えにくいものだし面白くもない