
調べた範囲で分からなかったので質問します。C言語で
double a[N][N]={0};
のように、2次元配列を使って数値計算をしているのですが、Nの値を変更していったとき、Nが250を越えたあたりからプログラムが動かなくなってしまいました。正確には実行しても何もされずにプロンプトが帰ってきてしまいます。
N=255までは実行できました。
そこで質問なんですが、C言語の配列の添え字には限界が定められているのでしょうか?限界が規定されている場合、それはいくつまでで、それを越えて添え字を設定することは可能でしょうか?
データを取る関係上、添え字を少なくとも1万程度にしたいと思っています。
ご回答お願いします。
実行環境 windows XP HE SP2 : intel core duo 1.60GHz : メモリ1GB
コンパイラ Borland C++ 5.5.1
No.2ベストアンサー
- 回答日時:
上限はありませんが 変数を宣言する位置により確保できるかが決まります
関数の中やクラス宣言の中などですととれない場合があります
これは スタック上に確保しようとするためです
mallocなどで動的に確保するか 関数やクラスの定義の外で確保しましょう
// こちらはヒープ上に確保
doube b[256][256];
int main(int argc, char *argv[])
{
// こちらはスタック上に確保
double a[256][256];
}
マニュアルなどで変数の確保領域が何処に取られるのかを確認しましょう
ご回答ありがとうございます。言語仕様上の限界はないということですね。記述場所によって確保される領域が変わるんですね。知らなかったので調べときます。言語仕様に限界があるかを知りたかったのであとは自分で原因を考えたいと思います。ありがとうございました。
No.1
- 回答日時:
> Nが250を越えたあたりからプログラムが動かなくなってしまいました。
コードを提示してくださると、どこに問題があるかがもしかすると
わかるかもしれません。
> C言語の配列の添え字には限界が定められているのでしょうか?
言語仕様上の限界はないと思います。
> 限界が規定されている場合、それはいくつまでで、それを越えて添え字を設定することは可能でしょうか?
仮に限界を規定しているとすると、それを超えた添字を設定することは
理論上不可能です。
なぜなら、そこが上限なのですから。
ご回答ありがとうございます。言語仕様上の限界はないということですね。それが知りたかったのであとは自分で原因を考えたいと思います。ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
malloc でのメモリ取得状況の可...
-
c言語のポインタへの文字列入力...
-
メモリ解放について
-
malloc呼び出し時のセグメンテ...
-
大容量の静的な確保の限界値
-
構造体の配列について(2)
-
MFCのCStringについて
-
DLLのマルチスレッドの動作につ...
-
アンマネージド関数でのメモリ...
-
C言語 配列の長さの上限
-
BCBで配列の要素数(0)の場合
-
「#undef」と「#define」の使い...
-
char*を初期化したいのですが
-
関数から配列を返すには?
-
C言語において、 配列要素をひ...
-
C++Builder 2009 テキスト...
-
C言語・要素除去
-
Redimした動的配列はEraseする...
-
【速いブラインドタッチ】手を...
-
DXライブラリでの2Dの描画...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
c言語のポインタへの文字列入力...
-
allocってなんですか?
-
ビットをローテートするプログ...
-
ヒープメモリの解放について
-
newしないオブジェクトについて
-
構造体でchar name[]と*nameの...
-
ポインタのポインタの初期化法
-
行列内の行の交換,列の交換を...
-
C++で、メンバもヒープに確保さ...
-
DLLのマルチスレッドの動作につ...
-
配列の添え字の最大数とは?
-
mallocで確保するメモリの領域...
-
C++のnewで確保したメモリーの...
-
C言語に関する質問
-
Win32APIでのメモリ管理について
-
変数に文字列を代入する方法を...
-
領域の確保について
-
free関数で動作が止まる
-
CreateFileMapping について
-
指定したメモリアドレスの値の...
おすすめ情報