In this code, where is the value pointed to by the returned pointer allocated, and why?func newInt() *int { x := 42 return &x }