#define vs. static const

So "const int foo = value" won't result in memory being allocated for "foo" when it's compiled in the Arduino IDE?
would "static const int foo = value" be the same then?

If I used "#define TempRead 20", then later on in my code had "int TempReading = 1;", would it get converted to "20ing = 1;" by the preprocessor?

Thanks