Variables locales de bucle for en C

¿Por qué el siguiente código genera la misma ubicación de memoria cada vez?

int x;
for (x = 0; x < 10; x++) {
    int y = 10;
    printf("%p\n", &y);
}

ensé que la ubicación de la memoria debería cambiar ya que cada vez que se ejecuta el ciclo for, la variable es nueva.

Respuestas a la pregunta(4)

Su respuesta a la pregunta