Arreglos allocatable en Fortran
Un arreglo cuyo tamaño espera al tiempo de ejecución, crece al asignar y se limpia solo.
program allocatable_arrays
implicit none
real, allocatable :: readings(:)
integer :: n = 5
! allocatable defers the size to run time.
allocate (readings(n))
readings = [2.1, 3.4, 4.8, 3.9, 2.6]
print *, "holding ", size(readings), " readings"
! Assignment can reallocate: the array takes the new shape.
readings = [readings, 3.0]
print *, "grew to ", size(readings)
deallocate (readings)
print *, "released"
end program allocatable_arrays
Cómo funciona
real, allocatable :: readings(:)declara la forma pero no el tamaño.allocate (readings(n))reclama el almacenamiento cuandonse conoce.- Asignar
[readings, 3.0]realoca a la forma nueva;deallocatela libera.
Palabras clave y builtins usados aquí
allocatableallocatedeallocateendimplicitintegernoneprintprogramreal
El intento, en números
- Líneas
- 16
- Caracteres a escribir
- 441
- Tokens
- 77
- Ritmo de tres estrellas
- 65 tpm
Al ritmo de tres estrellas de 65 tokens por minuto, este intento toma unos 71 segundos.
Paso 2 de 3 en Tipos y memoria; paso 20 de 27 en Fundamentos del lenguaje.