How does pin read/write parse pins that have characters in them?

I want to make an array that stores pins for certain tasks. I was making the array a "short" for now, but I cannot figure out how to store the occasional A0, A1, etc.

How would you do that? Say,
short pins[2]={1,A0}; //is this right??


short pins[2]={1,A0}; //is this right??

Yes, it is. The names A0, A1, etc. are #define statements that the preprocessor executes, and replaces the name A0 with the correct value, before the compiler runs. On an Arduino, the compiler will see:

short pins[2]={1, 14};


defines are preprocessor directives and they are very easy to use yourself to prevent "magic numbers" in your code improves readability

#define HUMIDITY A1

float temp = analogRead(TEMPERATURE) * 0.1;
float hum = analogRead(HUMIDITY) / 10.24;

More see - C preprocessor - Wikipedia -