Questo sito contribuisce alla audience di

Esempio di utilizzo di un Common block

Un pratico esempio di coem gestire la condivisione di variabili nel Fortran 77

fortran 90,intel fortran,visual fortran,compilatore fortran

Supponiamo di avere due parametri alfa e beta utilizzati dalle nostre subroutine. Il seguente esempio mostra come la condivisione di tali parametri può essere fatta utilizzando i blocchi comuni.


      program main
      some declarations
      real alpha, beta
      common /coeff/ alpha, beta

      statements
      stop
      end

      subroutine sub1 (some arguments)
      declarations of arguments
      real alpha, beta
      common /coeff/ alpha, beta

      statements
      return
      end

      subroutine sub2 (some arguments)
      declarations of arguments
      real alpha, beta
      common /coeff/ alpha, beta

      statements
      return
      end

Nella subroutine appena vista si definisce un blocco comune con il nome coeff. Il contenuto del blocco comune è rappresentato dalle due variabili alfa e beta. Un blocco comune può contenere un qualsiasi numero di variabili. E tali varibili non devono necessariamente essere dello stesso tipo.

Ogni subroutine che vuole utilizzare una qualsiasi delle variabili del blocco comune deve dichiarare l’intero blocco. Si noti che in questo esempio si sarebberero potuti facilmente evitare i blocchi comuni passando alfa e beta come parametri (argomenti). Una buona regola è quella di cercare di evitare i blocchi comuni, se possibile. Tuttavia, esistono rari casi in cui non esiste altra soluzione.