この記事では主に、当社のC言語についてですが、それは重要な知識である:スタック。人生は、順番に私たちはC言語の知識の焦点になります今日から、より便利に、より早く開発するために自分自身(ハッハッハ)との戦いです。(あなたはシングルチップスタック領域を確認したい場合は、クリックしてください:シングルチップそれらのものを積み重ね、実際には、知識が同じである)、抽象的には、ここにコンクリートがについて話すようになります。
ことが明らかに最初のヒープとスタックは2つのですデータ構造。以下は、私たちが知っているものの抽象的アイデアになります。
スタックは、(データロードされたバレルまたは箱のように、それがあるような弾丸クリップ):を有するLIFOデータ構造特性を、すなわち第一の記憶後に採取した最初のテイクの保存後。これは、ボックス(比較的早期に置かれた物体)の内側底面の外に何かのようなものです、あなたはまず、その上のオブジェクト(比較的遅い置かれた物体を)圧力を削除する必要があります。
(ASリアクター反転ツリー):ソートされたツリーデータ構造を、各ツリーのノードの値を有しています。これは、データスタック構造は、一般的にバイナリヒープを意味すると述べました。反応器は、ルートノード(又は最大値)の最小値によって特徴付けられる、ルートノードは、2つのサブツリーのスタックです。そのため、スタックのこの機能を実装するために使用さプライオリティキューを、スタックアクセスは、ランダムであり、ちょうど取るためのライブラリ棚の上の本のように本が中に配置されるが、順次時間が、いずれかを利用したいと思います好きではありませんスタックのように、最初に以前のすべてのブックを削除し、このメカニズムは、ケースと異なっている本棚、我々はできるに直接取る私たちが望むの本。
C言語プログラムのメモリ割り当てヒープ及びスタック、一般的に、あるいはフラッシュROMに格納されたプログラムです。C言語プログラム形成するように接続されたコンパイルされたコンパイル後のバイナリイメージファイルは、接続して形成されるスタック、ヒープ、データセグメント及びコードセグメント。
スタック領域は、前記比較的高いアドレスに、の成長方向アドレスワードは、スタックが下方にアドレスを成長、システムによって自動的に割り当てられます。;
ヒープ:ある上向きの成長アプリケーションプログラマに割り当てられたメモリ空間の、自分自身のプログラマーを申請する必要があります。
まあ、後半、これを整理するために、我々は、スタックのために私の心に願うことの具体的な理解を持って理解していない場合、それは(ハッハッハ!)再び見えます