IDE Constants?

Hi all. New guy here with a basic coding question. I have some coding experience in other platforms. I have done some basic stuff with my new Arduino Mega2560 kit. When declaring integers it seen pretty basic with a line like

int MyVar=23;

Sure, MyVar holds the integer value 23 - no problem there but, the following seems to be OK and I know it works but there seems to be a bit of magic happening:

int AnalogPin = A0;

A0 !? That's not an integer!

I did as much investigating as I could. I even did a Serial.println(A0) and found out that A0 is actually 54. So, my question is, where does A0 get assigned the value of 54? Is it just hard coded into the IDE? Are there others like that (other than A0, A1, etc.) and if so, are they listed anywhere?

Thanks,
Bill

The pin numbers are defined in the pins_arduino.h file, on my computer located at arduino-1.8.13/hardware/arduino/avr/variants/mega/pins_arduino.h, location may vary depending on your installation. The reason for using A0 instead of the physical hardware pin number is to make the code more portable between different model arduino boards.

Perfect! Thank you.