ホームページ  >  記事  >  ヒープとスタックの違いは何ですか?

ヒープとスタックの違いは何ですか?

清浅
清浅オリジナル
2019-04-02 17:01:56152461ブラウズ

ヒープとスタックの違いは次のとおりです: 1. スタックはシステムによって自動的に割り当てられますが、ヒープは手動で開かれます; 2. スタックによって取得される領域は小さくなりますが、ヒープによって取得される領域は3. スタックはシステムによって割り当てられます 自動割り当ては高速ですが、ヒープは一般に低速です; 4. スタックは連続空間ですが、ヒープは不連続空間です。

ヒープとスタックの違いは何ですか?

#ヒープとスタックの違い

ヒープとスタックには、次の 5 つの主な違いがあります。

1. さまざまな適用方法。スタックはシステムによって自動的に割り当てられますが、ヒープは手動アプリケーションによって開かれます;

2。アプリケーションのサイズは異なります。スタックによって取得される領域は小さくなりますが、ヒープによって取得される領域は大きくなります;

3. アプリケーションの効率が異なります。スタックはシステムによって自動的に割り当てられるため高速ですが、ヒープは一般に低速です;

4。ストレージの内容は異なります。スタック上で関数が呼び出される場合、関数呼び出しステートメントの次の実行可能ステートメントのアドレスが最初にスタックにプッシュされ、次に関数の各パラメーターがスタックにプッシュされます。静的変数はスタックにプッシュされません。ヒープは通常、ヘッダーにヒープのサイズを格納するために 1 バイトを使用し、ヒープ内の特定のコンテンツは人為的に配置されます (

5)。最下層は異なります。スタックは連続した空間ですが、ヒープは不連続な空間です。

以上がヒープとスタックの違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:MQとは次の記事:MQとは