char *arr[ ] ={"GATE", "CAT", "IES", "IAS", "PSU", "IFS" };
Above is a array of character pointers.
Size of a char* = 8 bytes ( normally in a 64-bit system )
let arr = 1000, then arr +1 = 1008 and arr + 2 = 1016
ptr1=(ptr+=size of (int)) -2;
sizeof( int ) = 4
ptr += 4, ptr = ptr + 4, ptr = 1000 + (4*8); ( 8 is the size of character pointer )
ptr = 1032
ptr1 = 1032 - 2 => ptr = 1032 - (2*8) => ptr = 1016
ptr == (arr + 2)
So,
printf("%s\n",*ptr1)
prints " IES " ( third element of the array )