This is my code, which can find highest number in an array by the pointer.
#define ELTS 5
#include <stdio.h>
#include <stdlib.h>
int main(void) {
  int i, *high, *p;
  int array[ELTS]={200,34,78,600,45};
  high=array;
  p=array;
  for ( i=1; i< ELTS; i++ ) {
      p++;
      if (*p > *high)  high = p;
  }
  printf("the highest number is %d \n", *high);
  printf("at address %p \n", high);
  printf("index %ld \n", high);
  printf("index %ld \n", array);
  printf("at index %ld of array \n", high-array);
  exit(0);
}
I also need to find the index number of this number, I did some research online. and find out I can use printf("at index %ld of array \n", high-array); to get the index of the highest number.
However, I don't understand how that works, can anyone explain it to me?
 
     
     
    