内部の状況を推測してみると、例えば、
・変数A(4バイト)
・配列変数B(4バイト×10要素)
・変数C(4バイト)
の順番に変数が定義されたとして、配列Bの要素が減る分には問題無いのですが、逆に増えるとなると、変数Cの後ろに移転させなければなりません。
その結果、
・変数A(4バイト)
・空き(40バイト)
・変数C(4バイト)
・配列変数B(4バイト×10要素)
というようなメモリの利用状況になります。
その後、新しく定義した変数や配列変数が、その空いた部分に収まれば良いのですが、そうでない場合は、配列変数Bのさらに後ろに置かなければならず、これを繰り返していると、空いているのに使えないメモリがどんどん増えていくという、メモリのフラグメンテーションが発生してしまいます。
昔のBASICはメモリが少なかったから、それが起きないように、要素数が変更出来ないようにしていたのかもなあ…。
0そうだね プレイ済み