typestar

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

  1. real, allocatable :: readings(:) declara la forma pero no el tamaño.
  2. allocate (readings(n)) reclama el almacenamiento cuando n se conoce.
  3. Asignar [readings, 3.0] realoca a la forma nueva; deallocate la libera.

Palabras clave y builtins usados aquí

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.

Escribe este fragmento

Paso 2 de 3 en Tipos y memoria; paso 20 de 27 en Fundamentos del lenguaje.

← Anterior Siguiente →