关于结构体指针,,,,,,

结构体指针像这样:
struct student
{
long num;
char name[20];
int score[3];
}zhang,*p;
p=&zhang;

访问时可以用p->num 或者(*p).num
这里为什么不是p,num而是(*p)呢?

 p是指针,指针访问成员用->,非指针用.,静态成员用::
 (*p)根据指针求值,结果是非指针,所以用.
好比zhang.num
或者  (&zhang)->num
都是可以的。