刚学指针遇到的问题,求帮助

#include
int realnum;//学生人数
void a(int (*p)[1])//成绩录入
{
    int (*i)[1],(*j)[1]; 
    for(i=p,j=p+realnum-1;i<=j;i++,p++)//输入学生成绩
    scanf("%d",*p);
} 
int main()
{
    int i,m,n,j;
    printf("输入班级人数");
    scanf("%d",&realnum);
    int (*p)[1];
    a(p+1);
    for(i=1;i<=realnum;i++)
    printf("%d\n",**p);//输出学生成绩
    return 0;
}

刚学指针,有地方写错了,找不出来。运行后给出人数,录入成绩给一个值就停止了,主函数返回一个很大的值。

int (*p)[1]; 没分配空间啊