動的配列のメモリ領域確保失敗はありますか?

解決


ド素人  2004-10-20 19:16:44  No: 86112

例えば、Dim A() as Integer と仮宣言します。
次に、ReDim A(任意の数)で宣言し直した時に、
メモリ領域確保失敗することはありますか?
また、失敗したときはどのようなエラーが起こるのでしょうか?

回答宜しくお願いしますm(_ _)m


java.lang.Nullpo  2004-10-20 19:39:51  No: 86113

「エラー」と表現されましたので、VB6以前と仮定させて頂きます。
通常は失敗することなどありえません。

ReDim A(負の数) ' -> インデックスが有効範囲でない。
ReDim A(巨大な数) ' -> メモリが足らない


raki  URL  2004-10-20 19:42:57  No: 86114

もちろん失敗することもあります。
これについては過去ログを参照してください。
確か過去1ヶ月以内に同じ質問が出ていたはずです。
配列をどこまで宣言できるのか、というような質問で。

失敗したときのエラーに関しては議論されていなかったような
気がしますが、これに関しては御自分で試されたほうが早いかと。


ねろ  2004-10-20 19:48:14  No: 86115

http://madia.world.coocan.jp/cgi-bin/VBBBS/wwwlng.cgi?print+200410/04100066.txt
ここに書きましたが
「実行時エラー'7' メモリーが不足しています。」
と言うエラーが出ます。


ド素人  2004-10-20 19:53:06  No: 86116

>java.lang.Nullpoさま

回答ありがとうございました。
VB6.0ということを明記することを忘れてました。申し訳ありません。
Cのmallocの失敗みたいなことを想定する必要はないということでしょうか?


ド素人  2004-10-20 19:54:45  No: 86117

>rakiさま

回答ありがとうございました。
過去ログを参照してみます。


ド素人  2004-10-20 19:58:18  No: 86118

>ねろさま

回答ありがとうございました。
URLが私の質問ページになっています(^^;
正しいURLを教えていただければ幸いです。


ねろ  2004-10-20 20:04:00  No: 86119

ああ〜  リンク先を間違えた。
http://madia.world.coocan.jp/cgi-bin/VBBBS2/wwwlng.cgi?print+200409/04090048.txt
ここです。
基本的には、メモリー確保はOSの仕事ですか。
OSの環境にもよりますが、メモリーが足りなくなるとOSは
ハードディスク上にスワップ領域を確保して、メモリーの内容を
待避します。従って大きいメモリー領域を確保すると、
「スワップ領域が足りません」等と言うエラーが出る可能性は
有りますが、「メモリーが不足しています」と言うエラーは
出ないのではと思いますが、なぜか出ます。
ただしスワップ領域が足りなくなるほどのメモリー確保をしたことが
無いのでどのようなエラーメッセージが出るかは解りません。


ド素人  2004-10-20 20:14:11  No: 86120

>ねろさま、みなさま

回答ありがとうございました。
メモリと配列に関する質問から色々な情報が出てきました。
これらの情報から試行錯誤してみます(´ー`)

配列の最大バイト数の上限は?
http://madia.world.coocan.jp/cgi-bin/VBBBS/wwwlng.cgi?print+200410/04100040.txt

テキストファイルから一行ずつ表示させるには?
http://madia.world.coocan.jp/cgi-bin/VBBBS2/wwwlng.cgi?print+200409/04090048.txt

配列の要素数の限界はいくつ?
http://madia.world.coocan.jp/vb/vb_bbs/200306_03060015.html


ねろ  2004-10-20 20:29:35  No: 86121

ありゃ。
配列の要素の限界と、確保するメモリー領域の限界は別物ですよ。
配列の要素の限界はVBの制限事項によって。
確保するメモリー領域の限界はOSや使用しているハードウェアーによります。


ド素人  2004-10-23 01:35:12  No: 86122

>ねろさま

返信をスルーしていたみたいです(^^;
申し訳ございませんm(_ _)m

メモリ領域のエラーについては他の現象を調べている最中です。
質問が具体的になったときに、また宜しくお願いいたしますm(_ _)m


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加