In addition to what E. F. Nijboer said about const, if you have a const variable of a builtin type (char, short, int, long, unsigned, ...) that is not a pointer or reference then there is usually no space created for the variable in the .data section.
Take for example:
const int nSize = 100;
char szString[nSize];
This is a rare scenario where you can allocate space on the stack from a variable.
This is because the compiler actually replaces occurances of
nSize
with
100
turning the above code into
char szString[100];
This is because it is computationally much simpler to load an integer constant directly by value than by loading a variable.