freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

目標(biāo)程序運(yùn)行時(shí)的存儲(chǔ)組織教材(編輯修改稿)

2025-03-11 02:26 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 字分配一塊存 儲(chǔ),如圖 : ?ALGOL的結(jié)構(gòu)特點(diǎn)是除了允許過(guò)程嵌套定義還含有分程 序的結(jié)構(gòu),如圖 ALGOL過(guò)程: ?如采用將分程序看成“無(wú)參過(guò)程”,則效率很低,因?yàn)椋? ?第一,分程序不存在被調(diào)用的問(wèn)題,不必要在進(jìn)入一個(gè) 分程序時(shí),將連接數(shù)據(jù)和 display都放進(jìn)活動(dòng)記錄中 ?第二,當(dāng)從內(nèi)層分程序向外轉(zhuǎn)移時(shí)可能同時(shí)要結(jié)束若干 個(gè)分程序,那么怎樣恢復(fù)所要到達(dá)的那個(gè)分程序的數(shù)據(jù) 區(qū)呢? ?克服上述缺點(diǎn)的辦法是: ?首先,代替原來(lái)的那個(gè)統(tǒng)一的棧頂指示器,讓每個(gè)過(guò)程 和分程序都有自己的棧頂指示器 TOP,它的值保存在各 自的活動(dòng)記錄中 ?其次,不把分程序看作“無(wú)參過(guò)程”,而讓每個(gè)分程序享 用包圍它的那個(gè)最小過(guò)程的 display ?每個(gè)過(guò)程的活動(dòng)記錄所含的內(nèi)容有: TOP單元,指向活動(dòng)記錄的棧頂位置 : (1)老 SP值 (2)返回地址 (3)全局 display地址 (4)調(diào)用時(shí)的棧頂單元地址,稱作老 TOP , 它們包括: (1)一個(gè)名為 TOP的單元,當(dāng)進(jìn)入時(shí)它含現(xiàn)行棧頂?shù)刂?,以? 用來(lái)存放棧的新高度 (2)分程序的局部變量、數(shù)組內(nèi)情向量和臨時(shí)工作單元 ?圖 A(見(jiàn)圖 )的活動(dòng)記錄的結(jié)構(gòu): ?下面用一個(gè)例子說(shuō)明進(jìn)出分程序時(shí)數(shù)據(jù)區(qū)的變化過(guò)程: ?圖 ( a)表示已調(diào)用了圖 A,控制已轉(zhuǎn)入 A中,但尚未開(kāi)始執(zhí)行過(guò)程體時(shí)棧的內(nèi)容 ?圖 ( b)反映了已進(jìn)入過(guò)程體分程序( B1),但尚未 分配數(shù)組空間時(shí)棧的內(nèi)容。分程序 B1的 TOP值直接抄自 外層分程序的 TOP單元 ?圖 ( c)反映了分配數(shù)組 B后的情形,此時(shí) B1的 TOP 值上升到指示新棧頂,但過(guò)程 A的 TOP值不動(dòng) ?圖 ( d)反映了進(jìn)入分程序 B2之后的情形 ?進(jìn)入分程序 B4時(shí)又抄寫 B1的 TOP,并對(duì)數(shù)組 C進(jìn)行分配, 于是得到圖 ( e) ?當(dāng)進(jìn)入分程序 B5時(shí),再次抄寫直接外層的 TOP值,得到 圖 ( f) 167。 參數(shù)傳遞 ?把實(shí)在參數(shù)傳遞給相應(yīng)的形式參數(shù)方法: ?傳值、傳地址、傳名、傳結(jié)果等 一 .傳值(值調(diào)用) ?將實(shí)參計(jì)算出它的值,然后把它傳給被調(diào)過(guò)程: ,并將它們的值放在為形式單元 開(kāi)辟的空間中 ,就像使用局部變量一樣使用這些形式 單元 ?傳值的重要特點(diǎn)是對(duì)形式參數(shù)的任何運(yùn)算不影響調(diào)用過(guò)程的活動(dòng)記錄中實(shí)參的值 ?通過(guò)值調(diào)用的過(guò)程可以由非局部量或由指針而對(duì)調(diào)用過(guò)程發(fā)生影響 二 .傳地址 ?當(dāng)參數(shù)通過(guò)引用傳遞時(shí),也稱作傳地址,或引用調(diào)用 ?調(diào)用過(guò)程傳給被調(diào)過(guò)程的是指針,指向?qū)崊⒋鎯?chǔ)位置的 指針 ,則名字的地址傳遞過(guò)去 ,比如 a+b或 2,而沒(méi)有左值,則表 達(dá)式先求值,并存入某一位置,然后該位置的地址傳遞 過(guò)去 調(diào)過(guò)程的指針被處理成間接訪問(wèn) 二 .傳名 ?當(dāng)參數(shù)通過(guò)名字傳遞時(shí),也稱作傳名調(diào)用 ?調(diào)用過(guò)程傳給被調(diào)過(guò)程的是名字,實(shí)參名字代替形參名字 ,則名字直接替代相應(yīng)的形式參數(shù) ,比如 a+b, a+b替代相應(yīng)的形式參數(shù) 到被調(diào)過(guò)程的指針被處理成間接訪問(wèn) 二 .傳結(jié)果 ?調(diào)用過(guò)程傳給被調(diào)過(guò)程的是指針和值,每個(gè)形式參數(shù)對(duì)應(yīng)兩個(gè)單元,一個(gè)存實(shí)參的地址,一個(gè)存實(shí)參的值。 ,則名字的地址和值傳遞過(guò)去 ,比如 a+b或 2,則表達(dá)式先求值,并存入某一位置,然后該位置的地址和值傳遞過(guò)去 ,再將執(zhí)行的結(jié)果寫到對(duì)應(yīng)的實(shí)參單元 例: 對(duì)于下面程序: Procedure p (x,y,z) 。 begin y:=y+1。 z:=z+x。 end。 {p} begin a:=2。 b:=3。 p (a+b , a , a) print a end. 若參數(shù)傳遞的方法分別為 ( 1)傳值( 2)傳地址 ( 3)傳名( 4)傳結(jié)果 。 執(zhí)行時(shí)所輸出的 a分別是什么? ( 1) 傳值 . 則將實(shí)參的值傳遞給被調(diào)用者 p .程序運(yùn)行時(shí)有(假設(shè) a的地址為 add_a, b的地址為 add_b)。 調(diào)用者數(shù)據(jù)區(qū) 被調(diào)用者數(shù)據(jù)區(qū) add_a 2 x : 5 add_b 3 y : 2 臨時(shí)單元 T: 5 z : 2 程序運(yùn)行執(zhí)行了語(yǔ)句“ y:=y+1”后有 : 調(diào)用者數(shù)據(jù)區(qū) 被調(diào)用者數(shù)據(jù)區(qū) add_a 2 x : 5 add_b 3 y : 3 臨時(shí)單元 T: 5 z : 2 程序運(yùn)行執(zhí)行了語(yǔ)句“ z:=z+x”后有 : 調(diào)用者數(shù)據(jù)區(qū) 被調(diào)用者數(shù)據(jù)區(qū) add_a 2 x : 5 add_b 3 y : 3 臨時(shí)單元 T: 5 z :
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1