¿Se garantiza que los elementos de una matriz se almacenarán de direcciones más bajas a más altas?

Supongamos que tengo la siguiente matriz:

int list[3]={2,8,9};
printf("%p,%p,%p",(void*)&list[0],(void*)&list[1],(void*)&list[2]);

¿Siempre está garantizado que?& list [0] <& list [1] <& list [2] ?

Había asumido que era una regla dura y rápida al usar C, pero ahora tengo que estar muy seguro de ello, ya que un OP me lo preguntó cuando respondí su pregunta sobreendianness

Little endian o big endian

Lo que me dio dudas es lastacks can grow up or down problema. No estoy muy seguro de eso, por lo que agradecemos sus respuestas rigurosas. Gracias.

Respuestas a la pregunta(3)

Su respuesta a la pregunta