Language: C

#include <stdio.h>
#include <stdlib.h>

struct GuideData {
	int index;
	char S[11];
	int  point;
};

int GuidSort(const void *a, const void *b) {
  int a_cmp, b_cmp;
  GuideData *A, *B;
  A =  (GuideData *)a;
  B =  (GuideData *)b;
  a_cmp = strcmp(A->S, B->S);
  if (a_cmp != 0) {
	  return a_cmp;
  }
  b_cmp = B->point - A->point;
  return  b_cmp;
}

int main(void)
{
	 GuideData *data;
	 int N, i;

	 scanf("%d", &N);

	 data = (GuideData *)malloc(sizeof(GuideData)*N);

	 for (i = 0; i < N; i++) {
		 scanf("%s %d", data[i].S, &(data[i].point));
		 data[i].index = i + 1;
	 }

    qsort(data, N, sizeof(GuideData),  GuidSort);

	 for (i = 0; i < N; i++) {
		 printf("%d\n", data[i].index);
	 }

	free(data);

	return 0;

}


Compiler output:
main.c: In function 'GuidSort':
main.c:12:3: error: unknown type name 'GuideData'; use 'struct' keyword to refer to the type
   12 |   GuideData *A, *B;
      |   ^~~~~~~~~
      |   struct 
main.c:13:9: error: 'GuideData' undeclared (first use in this function)
   13 |   A =  (GuideData *)a;
      |         ^~~~~~~~~
main.c:13:9: note: each undeclared identifier is reported only once for each function it appears in
main.c:13:20: error: expected expression before ')' token
   13 |   A =  (GuideData *)a;
      |                    ^
main.c:14:20: error: expected expression before ')' token
   14 |   B =  (GuideData *)b;
      |                    ^
main.c:15:11: error: implicit declaration of function 'strcmp' [-Wimplicit-function-declaration]
   15 |   a_cmp = strcmp(A->S, B->S);
      |           ^~~~~~
main.c:3:1: note: include '<string.h>' or provide a declaration of 'strcmp'
    2 | #include <stdlib.h>
  +++ |+#include <string.h>
    3 | 
main.c:15:19: error: request for member 'S' in something not a structure or union
   15 |   a_cmp = strcmp(A->S, B->S);
      |                   ^~
main.c:15:25: error: request for member 'S' in something not a structure or union
   15 |   a_cmp = strcmp(A->S, B->S);
      |                         ^~
main.c:19:12: error: request for member 'point' in something not a structure or union
   19 |   b_cmp = B->point - A->point;
      |            ^~
main.c:19:23: error: request for member 'point' in something not a structure or union
   19 |   b_cmp = B->point - A->point;
      |                       ^~
main.c: In function 'main':
main.c:25:10: error: unknown type name 'GuideData'; use 'struct' keyword to refer to the type
   25 |          GuideData *data;
      |          ^~~~~~~~~
      |          struct 
main.c:30:18: error: 'GuideData' undeclared (first use in this function)
   30 |          data = (GuideData *)malloc(sizeof(GuideData)*N);
      |                  ^~~~~~~~~
main.c:30:29: error: expected expression before ')' token
   30 |          data = (GuideData *)malloc(sizeof(GuideData)*N);
      |                             ^
main.c:33:40: error: request for member 'S' in something not a structure or union
   33 |                  scanf("%s %d", data[i].S, &(data[i].point));
      |                                        ^
main.c:33:53: error: request for member 'point' in something not a structure or union
   33 |                  scanf("%s %d", data[i].S, &(data[i].point));
      |                                                     ^
main.c:34:25: error: request for member 'index' in something not a structure or union
   34 |                  data[i].index = i + 1;
      |                         ^
main.c:40:40: error: request for member 'index' in something not a structure or union
   40 |                  printf("%d\n", data[i].index);
      |                                        ^