計算機, 程序設計
“這是什麼”這是在棧中,“它”回來了:現實的抽象的基礎
或許在一些未來的計算業務忘掉1和0和處理器不會在字節和字操作,但到目前為止,一切都代表二進制的世界,他的生活規則。 什麼是堆棧以及它適用 - 很可能是絕對清楚。 早在他的外表的開始是第一個處理器寄存器,他的工作的邏輯是需要的存儲器。 作為簡單的想法的結果棧“,它”已經成為事實上的“是必要的。”
函數處理器,二進制邏輯
所述處理器控制所述存儲器,並實現一個循環碼執行邏輯。 該方案 - 一個或一組代表的一系列操作功能:選擇一些這樣做是為了把東西。 操作系統 - 同樣的代碼,更負責任的:它的任務是執行和控制其他程序。
其實功能(算法獨立元素) - 只是一個二進制的操作順序。 該方案不同於實現本身並協調代碼的其他部分的功能。
接受的設計算法作為單獨的和不同的元素的序列。 每一個帶有自己的(通常只有一個)功能 - 方便調試,可視化,實用。 這種編程允許簡化開發過程,創造的算法庫,並在其他項目中使用它們。
發送和退貨管理
該程序調用的功能,通過它的數據,計算的結果。 由於其它代碼部分的執行從外部發起的,因為返回控制應在下一呼叫操作被執行。 這種機制是由執行代碼和程序的結果作為一個整體實現的順序提供的。
代碼被加載到存儲器,並順序地執行。 調用一個函數(另一段代碼),堆棧被使用。 這是什麼? 存儲器(和指向它的指針),其從在每個連續的元件被放置在上一個普通的不同。 由於得到任何人誰是下面,你需要採取的工作和一切就可以了。 指針總是指向在棧的當前位置。
最初,堆棧獲取返回地址 - 下調用操作的地址。 然後把所有必需的數據被調用的功能。 所調用的函數選擇數據,對其進行處理,並生成結果返回控制到堆棧的最後一個元素。 團隊:“其疊”將指針移動到前面給定的,並選擇了“它”去處理。
寄存器AX,BX,CX,DX,EX成為信息時代的時代的開始的象徵,但SP和SS - 是其主要的吉祥物。 如何使用程序的堆棧? 過去的例子不會是早期時代的建築遺跡。 堆棧來到二元世界,上寫著“功能”和“遞歸”一起消失在編程實踐的一般邏輯。
服務數據來決定做什麼
堆疊機制允許代碼的不同部分,包括遞歸多個呼叫:一個函數調用本身。 有自然的限制:棧和一個代碼的存儲器尺寸應是足夠的。 如果程序是正確的,那麼它的性能穩定,傳輸/退貨管理 - 確切。
堆棧已滿,作為所述板位於一個樁,其被發送到擺桌子。 板塊的命運,那就是他們的內容,在它發送的地方就解決了。 根據互動的邏輯,團隊“棧,它”提供了一個預先安排的那些誰調用,而那些被他稱為之間的這種。 在該過程完成它控制返回地址下面的發送桌子上的堆棧中的一個非常重要。
非常簡單而有效的邏輯。 什麼是在桌子上,因為在作出決定 - 它的功能,因為它去與發現 - 它的照顧,更主要的是要始終控制返回給該操作的下一個挑戰 - 它在什麼表,將數據發送一疊關注。 該函數可以調用本身,只有當它承認遞歸,但遞歸是唯一可能的,如果數據落入堆棧。
最根本的抽象
當普通的,成為一個實用的角度的基礎上,實際上,我們可以合理預期是客觀的,而後者的壽命長。 板的疊層生下堆棧,堆棧提供工作的處理器,操作系統,程序,功能和高科技產業為一體。
經典案例是一個簡單的,但難得一遇的基礎上時,它可以在不關於語法,語義,編程的語言的生存鬥爭的安排和優先空糾紛進行估計。
部分由於是存儲單元,並保持到今天,但是這是它的想法發生了改變。 自信地穿過厚厚的強類型的,他們現在要求的東西可以是任何東西,並持有任何事物的真實記憶,因為它已經是非常重要的。
賦值運算符, 條件,循環,塊......在它的含義將轉化小得多,同時,很長一段時間的語法沒有關係。 爭取編程語言的理想是沒有機會贏得其中的一個。 工具(編譯器/解釋/殼)有義務簡單工作,穩定和全功能的,以及如何和寫什麼/使用 - 以程序員的照顧,而不是作者的語言。
堆棧已收購的思路和技術發展的全球進程的新的意義。 的形式的變量在他們已經方便地彼此重疊,和算法和運算符被包括在彼此。 你經常可以聽到有關協議棧,當一個人提供了不同的工作。
堆棧,功能和遞歸 - 不要代名詞,但他們補充,相得益彰,讓您創建的信息的提交和處理的唯一版本。
Similar articles
Trending Now