私のシステムはメモリを持っているが、別の場所に分散している(断片化している)と考えてください。空いている4つの連続したメモリロケーションはありません。このシナリオでは、C言語でサイズ10の文字配列を宣言するとどうなりますか?メモリが制約されたシステム内の配列
3
A
答えて
8
は場合は、「私のシステムは、メモリを持っていますが、別の場所で(断片化)散乱される」heap virtual memoryが断片化されていることを、手段、およびあなたは文字配列を作成することを、手段「サイズ10の文字配列を宣言します」サイズ10のサイズは、stack memory:
char str[10];
であり、配列が正常に作成されます。
あなたはmalloc関数でメモリを割り当てること"サイズの文字配列を宣言10"手段、()(ヒープに割り当てた場合):
char *str2;
str2 = (char*) malloc(10 * sizeof(char));
、その後のmalloc()はNULLを返します。
2
スタックを含むすべてのメモリがこのように断片化されている場合は、非連続スタックをサポートするコンパイラ(またはランタイムシステム)を使用します。この場合、も不連続配列、または基本的には(サブルーチンを呼び出すなど)スタックオーバーフローが発生し、プログラムがクラッシュします。
+0
お返事をありがとうございます。したがって、断片化されたスタックの場合、非連続スタックをサポートするコンパイラが問題を解決するように見えます。 gccは非連続スタックをサポートしていますか?非連続スタックをサポートする良いコンパイラの味を教えてもらえますか? –
関連する問題
- 1. Mathematica&J/Link:メモリの制約?
- 2. それに接続された制約の列名(MySQLの)
- 3. PHPメモリが使い果たされました - 配列かsql?
- 4. ネストされたUIStackViews壊れた制約
- 5. Rの予約メモリは、割り当てられた配列の2倍です。
- 6. 配列内の値がループ内に挿入されたとき
- 7. 多次元配列がメモリ内にどのように表現されるか
- 8. TSQL列の制約
- 9. 推論された型制約
- 10. Javaでプログラミングされた制約
- 11. ソフト削除された行の一意制約が除外されました
- 12. チェック制約内のSQLサブクエリ
- 13. クエリが許可されるメモリ制限
- 14. フォームバリデーションの制約Play内のサブオブジェクトを持つ制約
- 15. WinJS内のネストされた約束
- 16. 制約の検証が失敗した後にメモリ内に無効なオブジェクトがあります
- 17. ループ内のインクルードされたページ内のPHP配列
- 18. オブジェクトが配列から削除されるとメモリが再生されない
- 19. ElasticSearch内のフィルタリングされたネストされたinner_hitsクエリの集約
- 20. プログラムで追加された制約が機能しない
- 21. Choco Solver制限内のIntVar配列の標準偏差を定義するICF制約
- 22. 翻訳制約が配列を文字列変換に変換する
- 23. 制限付きの制約タイプとタイプファミリーを '限定された'制約付きで使用する
- 24. 3イン行ロジックパズル:リスト/配列における配列の制約のために最適化
- 25. 共通のインデックスでグループ化された配列内の出力配列
- 26. ナンプィ配列の要素を指定された範囲内に強制的に配置
- 27. テーブルスコープ内の特定の値を持つ制約列
- 28. PostgreSQLの制約が
- 29. 参照された配列==配列
- 30. 非負の解を与えるように制約された遅延微分方程式(DDE)システムを解く
大丈夫です。あなたの返信のためのTHX! –