结构体数组指针?解决办法

结构体数组指针?
#include "stdio.h"
#include "stdlib.h"

typedef struct
{
int id;
int eng;
int math;
int sum;
int avg;
}student;

int main(void)
{
student *pstu;
student stu[50];
int i;
pstu = stu;
for (i = 0; i < 3; i++)
{
scanf("%d",&pstu[i]->id);//*这段代码有问题
}

结构体指针变量不是要用->符号来处理吗?为什么用->符号会报错,用“.”符号确能编译运行?
------解决思路----------------------
pstu[i]
你对指针使用了数组下标,得到的已经不是个指针了,而是对象本身
------解决思路----------------------
你是访问数组元素,而不是指针本身