ホームページ >よくある問題 >コンピューター内のスタックとは何ですか?

コンピューター内のスタックとは何ですか?

藏色散人
藏色散人オリジナル
2020-09-28 13:10:2113866ブラウズ

コンピュータ内のスタックはスタックとも呼ばれます。これは、操作が制限された線形リストです。リストの最後に挿入と削除操作のみを実行する線形リストです。この端は、リストと呼ばれます。スタックの一番上。相対的に言うと、もう一方の端はスタックの一番下と呼ばれます。スタックに新しい要素を挿入することは、プッシュ、プッシュ、またはプッシュとも呼ばれます。新しい要素をスタックの一番上の要素の上に置くことです。スタックに追加され、スタックの新しい最上位要素になります。

コンピューター内のスタックとは何ですか?

おすすめ:「プログラミングビデオ

スタック(スタック)はスタックとも呼ばれます。演算が制限された線形テーブル。挿入および削除操作をテーブルの末尾のみに制限する線形テーブル。この端はスタックの上部と呼ばれ、もう一方の端は底部と呼ばれます。新しい要素をスタックに挿入することは、プッシュ、プッシュ、プッシュとも呼ばれます。新しい要素をスタックの最上位要素の上に置き、新しい最上位要素にすることです。スタックから要素を削除することは、ポップまたはプッシュとも呼ばれます。プッシュ: スタックからポップオフし、スタックの最上位要素を削除し、その隣接要素をスタックの新しい最上位要素にします。

基本概念

この概念を理解するには、まず「スタック」の本来の意味を理解し、本質をつかむ必要があります。 「スタック」とは、物品を保管したり乗客が宿泊したりする場所を指し、拡張すると倉庫や乗換駅にまで及ぶため、コンピュータ分野で導入される場合はデータを一時的に保管する場所を指すため、「スタック」という用語があります。スタックに出入りします。

まず第一に、システムまたはデータ構造スタック内のデータ コンテンツの読み取りと挿入 (プッシュとポップ) は、2 つの異なるものです。プッシュはデータの追加、ポップはデータの削除であり、これらの操作はスタックの最上位、つまり最下位アドレスを制約としたインターフェースからしか実行できませんが、スタック内のデータを読み出すことはカジュアルであり、インターフェースの制約はありません。多くの人がこの概念を誤解しており、スタックについて混乱しています。システム スタックは、コンピュータ アーキテクチャにおけるコンポーネント間相互作用のためのメディア領域、つまり CPU とメモリ間の通信チャネルとしても機能します。CPU は、アプリケーションに対してシステムによって指定されたスタック エントリから実行命令のみを線形に読み取ります。私たちが書くプログラムをイメージ言葉で表すとパイプライン(パイプライン、組立ライン)です。 CPU の内部相互作用の詳細については、EU と BIU の概念の概要を参照してください。

データ構造としてのスタックは、一方の端でのみ挿入および削除操作を実行できる特殊な線形テーブルです。先入れ後出しの原則に従ってデータを格納します。最初に入力されたデータはスタックの一番下にプッシュされ、最後のデータはスタックの一番上に置かれます。データを読み取る必要がある場合、データはポップされます。スタックの先頭から(最後のデータが最初に読み出されます)。スタックにはメモリ機能があり、スタックへの挿入や削除の際にスタックのボトムポインタを変更する必要はありません。

スタックは、同じ端で挿入と削除の操作を可能にする特別な線形リストです。挿入と削除が可能な端をスタックの最上部、もう一方の端を最下部と呼びます スタックの最下部は固定され、スタックの上部はフローティングになります スタックの要素数が 0 の場合、それは空のスタックと呼ばれます。一般に挿入をPUSH、削除をPOPと呼びます。スタックは先入れ後出しリストとも呼ばれます。

スタックは、関数が呼び出されたときにブレークポイントを保存するために使用できます。スタックは再帰を実行するときに使用されます。

上記の定義は古典的なコンピューターサイエンスで説明されています。

コンピュータ システムでは、スタックは上記の属性を持つ動的メモリ領域です。プログラムはデータをスタックにプッシュしたり、スタックの最上部からデータをポップしたりできます。 i386 マシンでは、スタックの最上位は esp と呼ばれるレジスタによって配置されます。プッシュ操作ではスタックの先頭のアドレスが減少し、ポップ操作ではスタックの先頭のアドレスが増加します。

スタックはプログラムの実行において重要な役割を果たします。最も重要なことは、関数の呼び出し時に必要なメンテナンス情報 (スタック フレームまたはアクティビティ レコードと呼ばれることが多い) がスタックに保存されることです。スタック フレームには通常、次の情報の側面が含まれています:

1.関数の戻りアドレスとパラメータ

##2.一時変数: 関数の非静的ローカル変数や、コンパイラーによって自動的に生成されるその他の一時変数が含まれます。

コンピューター内のスタックとは何ですか?

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

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