サブルーチンに変数の先頭アドレスが渡って、そのあとメモリ空間上のどこまでがその変数の長さなのかは、その変数の型によって決まる。従って長さの違う型で変数が再定義されると、先頭アドレスから間違った長さまでをその変数として用いてしまう。概略図を以下に掲載する。区切ったものとして表記した。10進数のように書いてある。ある必要があったため、以下のように修正。subroutineコンパイラによってメモリ空間の扱いが変わるため、このようなバグを作った場合に原因の特定が困難。さんに、コンパイラのオプションをちゃんと付けると、コンパイル時に警告してくれる情報を教わりました。(1)という感じでちゃんと警告されます。キャンセル投稿を送信できませんでした。メールアドレスを確認してください。メール送信チェックに失敗しました。このブログではメールでの投稿共有はできません。%d人のブロガーが「いいね」をつけました。