! 学習目的:サブルーチン側で配列の大きさ,文字数にワイルドカード(*)を使用 ! ex407.f character*10 s1 dimension a(2),b(2,2) call sub1(s1,a,b) write(*,*) s1 write(*,*) a(1) write(*,*) a(2) write(*,*) b(1,1) write(*,*) b(1,2) write(*,*) b(2,1) write(*,*) b(2,2) stop end subroutine sub1(s1,a,b) character s1*(*) !文字数にワイルドカードが使用可 dimension a(*),b(2,*) ! 1次元配列でもワイルドカード使用可 !ただし,2次元の場合,片方はきちんと指定しないといけない. s1='abc' a(1)=1. a(2)=2. b(1,1)=3. b(1,2)=4. b(2,1)=5. b(2,2)=6. return end ! 配列の大きさは,parameterで渡せるのでワイルドカードを使うことはあまりない. ! 文字数の指定は,引用側でよく変わる場合は,ワイルドカードを使うと便利.