****C の新機能!****
Windows 7 (64 ビット ビルド) で Dev-C++ 4.9.9.2 を実行しています。コンピューターには 39GB の物理メモリがあります。
大きな二次元配列を作成しようとしています。ディメンションの数と、各ディメンションに含まれるアイテムの数を示すコードを既に作成しています。
例として、配列が 2 次元であるとしましょう: 長さ 100 万項目、幅 6 項目:
[1,2,3,4,5,6],
[1,2,3,4,5,6],
[1,2,3,4,5,6],
...and on to one million items.
私が試してみました:
float MyArray[1000000][6];
しかし、これは Dev-C をクラッシュさせます。次より大きい配列を初期化しようとすると失敗するようです。
float Myarray[86486][6];
それがこのサイトの名前なので、私を楽しませる「スタックオーバーフロー」が発生していると思います。
私は掘り下げてきましたが、Cが予約するメモリの量を理解できるようにmallocを使用する必要があるようです。これを使用して 1 次元配列をセットアップする方法の良い例を見てきましたが、これを 2 次元配列でセットアップする方法のサンプル コードを非常に高く評価します。
ここで例を見てきました: C で大きな 2 次元配列を初期化する
しかし、残念ながら、私は c の初心者であり、簡単な説明を理解できません。背景として: 私は、MyArray=[] を宣言するだけで (ほぼ) 任意のサイズまたは次元の配列を作成できる Python から来ています。
ありがとうございました!