大一C语言指针不会用

问题遇到的现象和发生背景

img

学了指针不会用,求用指针的方法,另外问一下学了不会用怎么办


#include <stdio.h>
#include <stdlib.h>
 
#define N 3  //学生数量
#define M 5  //几门成绩
 
//储存学生信息的结构体
typedef struct student
{
 int score[M];//各科成绩
 int avg;//平均分
}STUDENT_T;
 
int main (int argc, char *argv[])
{
 int i = 0;
 int j = 0;
 STUDENT_T *p = NULL;
 STUDENT_T *tmp = NULL;
  
 //指针指向动态申请的内存
 p = malloc(sizeof(STUDENT_T)*N);
 if (!p)
 {
  printf("\n");
  return -1;
 }
  
 //屏幕输入或变量直接赋值每个学生的各科成绩 并计算平均分
 tmp = p;
 for (i = 0; i < N; i++, tmp++)
 {
  printf("输入第%d个学生的%d个成绩:\n", i+1, M);
  for (j = 0; j < M; j++)
  {
   scanf("%d", &tmp->score[j]);
   //tmp->score[j] = 60+2*i+2*j;
   tmp->avg += tmp->score[j];
  }
  tmp->avg /= M;
 }
  
 //打印各学生的平均分
 tmp = p;
 for (i = 0; i < N; i++, tmp++)
 {
  printf("学生:%d 平均分:%d\n", i+1, tmp->avg);
 }
  
 free(p);
  
 return 0;
}

就是普通用
数组a
取值的时候不用a【i】用a+i