Not necessarily. The compiler could reserve memory in larger chunks if you declared the array statically or you could have just overwritten whatever else comes after the array on the stack.
That depends on the compiler and falls under "undefined behaviour".
You set (numbers + 10) to the value after the equal sign.