I think that this is happening because everytime the process for yourprogram is created, the starting address is chosen randomly so tha location varies or might be that the system is using some memory during its operation which will make is consume some exra variable amount of memory in the RAM after which your process is created.
"Everything should be made as simple as possible, but not simpler."
not sure what you're trying to store, but in 2.6 to help prevent code executions as a result of buffer overflows there is a memory randomization patch.
try this and see if it works.
~$: echo 0 > /proc/sys/kernel/randomize_va_space
as root
then try it and see if the same address comes up.
but when you're done it'd be good to have randomize_va_space set to 1 for security although its easily bypassed.