What misterT said is true as far as it goes. Most embedded c compiler can use embedded compiler directives in the c source in conjunction with a linker command file to allow the programmer to force where in memory variables are stored. They generally allow the generation of a .map file which details what is stored where.
None of this is part of standard c and it differs from compiler to compiler.