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.