掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
大きな添え字の配列を作るには? (ID:32714)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> 未だに、うまく動作しなかった理由はわかりません。 理由については「宣言場所は?」さんが言及していると思いますが……キーワードは「スタック」です。 ローカル変数はその関数の中でだけ存在して、関数を抜けると消えますよね? このような変数は一般に「スタック」と呼ばれる場所に作られます。 スタックは確保・解放にコストがかからないかわり容量が限られており、 食い潰してしまうといわゆるスタックオーバーフローを起こします。 ちなみにInteger=32bitとして、131,070要素の配列を3つ作ったら約1.5M。スタックにはけっこうきびしいですね。 一方、オブジェクトのフィールドや動的配列などは「ヒープ」から確保されます。 ヒープからの動的なメモリ確保・解放にはコストがかかりますが、 その分大きなメモリでも確保することができます。 大きなメモリを扱うときには、どこに領域が確保されるかを意識しなくてはいけないと覚えておいてください。 ヘルプで「変数」や「メモリ管理」をひいてみればその辺の話が出てくると思いますよ。 まあ、サイズの決まっている配列なら、動的配列にするよりも 関数の外でグローバル変数として用意した方が手っ取り早いかもしれません。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.