つかれた

この場合,p->blやp->bwはポインタではありません.参照先の値(「中身」)になります.pがdata型ポインタです.ポインタ先のデータを参照する際には「*」をつけていましたよね.また,構造体のメンバを参照するには「.」を用いるのでした.このことからp->blは言い換えると(*p).blと同じです.これはまさしく構造体のメンバであるblを先していて「中身」です.double型変数と変わりありません.ですから,「&」演算子が必要になるのです.ちなみに「->」はアロー演算子と言って通常は下の形ではなく,こちらがよく使われます.