スタックは、データ項目が順番に配置されたデータ構造です。データ項目は、一方の端 (スタックの先頭と呼ばれます) でのみ挿入および削除できます。マイクロコントローラー アプリケーションでは、スタックは特別な役割を果たします。ストレージ領域の主な機能は、データとアドレスを一時的に保存することであり、通常はブレークポイントとシーンを保護するために使用されます。
#この記事の動作環境: Windows 7 システム、Dell G3 コンピューター。
スタック は、一端が固定され、もう一端がフローティングである特定の記憶領域またはレジスタです [1] 。ヒープ記憶領域に格納されるデータは特殊なデータ構造です。すべてのデータは、フロートの一方の端 (スタックの最上部と呼ばれます) でのみ預けたり取り出したりできます。アクセスは、「先入れ後出し」の原則に厳密に従っています。中央にある要素は、スタックの上部 (最後にスタックに入る要素) 要素は 1 つずつ削除された後でのみ削除できます。内部メモリ(ランダムアクセスメモリ)上の領域をスタックとして開放することをソフトウェアスタックといい、レジスタで構成されるスタックをハードウェアスタックといいます。
マイクロコントローラー アプリケーションでは、スタックは特別な記憶領域です。スタックは RAM スペースの一部です。スタックは、関数呼び出しや割り込み切り替え中にオンサイト データを保存および復元するために使用されます。スタック内のオブジェクトには特性があり、スタックに最初に置かれたオブジェクトが常に最後に取り出されます。この特性は通常、FILO (先入れ/後出し) と呼ばれます。スタックには多数の操作が定義されていますが、最も重要な 2 つは PUSH と POP です。 PUSH 操作: スタック ポインタ (SP) を 1 つ増やし、スタックの先頭に要素を追加します。 POP(ポップ)動作はその逆で、スタックからポップアウトする場合は、SPで示される内蔵RAMユニットの内容が、まずダイレクトアドレスで指定されたユニット(宛先位置)に送信され、次にスタックポインタ(SP)に送信されます。 ) が 1 減ります。これら 2 つの操作は、データ項目の挿入と削除を実装します。
プログラミング学習について詳しく知りたい方は、php training のコラムに注目してください!
以上がスタックとは何かを理解する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。