¿Cuál es la diferencia explícita entre los intentos fortran (entrada, salida, entrada)?

Después de buscar un tiempo en los libros, aquí en stackoverflow y en la web general, he encontrado que es difícil encontrar una explicación clara de las diferencias reales entre los intentos de los argumentos fortran. La forma en que lo he entendido, es esta:

intent(in) - El argumento real se copia al argumento ficticio en la entrada.intent(out) - El argumento ficticio apunta al argumento real (ambos apuntan al mismo lugar en la memoria).intent(inout) - el argumento ficticio se crea localmente y luego se copia en el argumento real cuando finaliza el procedimiento.

Si mi entendimiento es correcto, entonces también quiero saber por qué uno quiere usarintent(out), desde elintent(inout) Requiere menos trabajo (no copia de datos).

Respuestas a la pregunta(3)

Su respuesta a la pregunta