The key point here is that just because `x_ptr` and `&y[0]` point to the same *address*, that does not make them *the same pointer*, i.e., they cannot be used interchangeably:
`&y[0]` points to the first element of `y`; `x_ptr` points past the end of `x`.
The key point here is that just because `x_ptr` and `&y[0]` point to the same *address*, that does not make them *the same pointer*, i.e., they cannot be used interchangeably:
`&y[0]` points to the first element of `y`; `x_ptr` points past the end of `x`.