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

正文內(nèi)容

第六章運(yùn)行時(shí)存儲(chǔ)空間的組織和管理-在線瀏覽

2024-09-11 13:21本頁(yè)面
  

【正文】 無(wú)過(guò)程嵌套的靜態(tài)作用域 ? 過(guò)程體中的非局部引用可以直接使用靜態(tài)確定的地址 ( 非局部數(shù)據(jù)此時(shí)就是全局?jǐn)?shù)據(jù) ) ? 局部變量在棧頂?shù)幕顒?dòng)記錄中 , 可以通過(guò)base_sp指針來(lái)訪問(wèn) ? 無(wú)須深入棧中取數(shù)據(jù) , 無(wú)須訪問(wèn)鏈 ? 過(guò)程可以作為參數(shù)來(lái)傳遞 , 也可以作為結(jié)果來(lái)返回 非局部名字的訪問(wèn) 有過(guò)程嵌套的靜態(tài)作用域 sort readarray exchange quicksort partition 非局部名字的訪問(wèn) 有過(guò)程嵌套的靜態(tài)作用域 ? 過(guò)程 嵌套深度 sort 1 readarray 2 exchange 2 quicksort 2 partition 3 ? 變量的嵌套深度:它的聲明所在過(guò)程的嵌套 深度作為該名字的嵌套深度 ? 訪問(wèn)鏈 – 用來(lái)尋找非局部 名字的存儲(chǔ)單元 s a, x q (1, 9) k, v 訪問(wèn)鏈 s a, x q (1, 3) k, v 訪問(wèn)鏈 q (1, 9) k, v 訪問(wèn)鏈 s a, x q (1, 3) k, v 訪問(wèn)鏈 q (1, 9) k, v 訪問(wèn)鏈 p (1, 3) i, j 訪問(wèn)鏈 e (1, 3) 訪問(wèn)鏈 s a, x q (1, 3) k, v 訪問(wèn)鏈 q (1, 9) k, v 訪問(wèn)鏈 p (1, 3) i, j 訪問(wèn)鏈 非局部名字的訪問(wèn) 非局部名字的訪問(wèn) ? 訪問(wèn)非局部名字的存儲(chǔ)單元 假定過(guò)程 p的嵌套深度為 np, 它引用嵌套深度為 na 的變量 a, na ? np, 如何訪問(wèn) a的存儲(chǔ)單元 sort 1 readarray 2 exchange 2 quicksort 2 partition 3 s a, x q (1, 3) k, v 訪問(wèn)鏈 q (1, 9) k, v 訪問(wèn)鏈 非局部名字的訪問(wèn) ? 訪問(wèn)非局部名字的存儲(chǔ)單元 假定過(guò)程 p的嵌套深度為 np, 它引用嵌套深度為 na 的變量 a, na ? np, 如何訪問(wèn) a的存儲(chǔ)單元 – 從棧頂?shù)幕顒?dòng)記錄開(kāi)始 , 追蹤訪問(wèn)鏈 np ? na次 – 到達(dá) a的聲明所在過(guò)程的活動(dòng)記錄 – 訪問(wèn)鏈的追蹤用間接操作就可完成 sort 1 readarray 2 exchange 2 quicksort 2 partition 3 s a, x q (1, 3) k, v 訪問(wèn)鏈 q (1, 9) k, v 訪問(wèn)鏈 ? 訪問(wèn)非局部名字的存儲(chǔ)單元 sort readarray exchange quicksort partition s a, x q (1, 9) k, v 訪問(wèn)鏈 s a, x q (1, 3) k, v 訪問(wèn)鏈 q (1, 9) k, v 訪問(wèn)鏈 s a, x q (1, 3) k, v 訪問(wèn)鏈 q (1, 9) k, v 訪問(wèn)鏈 p (1, 3) i, j 訪問(wèn)鏈 e (1, 3) 訪問(wèn)鏈 s a, x q (1, 3) k, v 訪問(wèn)鏈 q (1, 9) k, v 訪問(wèn)鏈 p (1, 3) i, j 訪問(wèn)鏈 非局部名字的訪問(wèn) 非局部名字的訪問(wèn) ? 過(guò)程 p對(duì)變量 a訪問(wèn)時(shí) , a的地址由下面的二元組表示: ( np ? na, a在活動(dòng)記錄中的偏移 ) 非局部名字的訪問(wèn) ? 建立訪問(wèn)鏈 – 假定嵌套深度為 np的過(guò)程 p調(diào)用嵌套深度為 nx的過(guò)程 x (1) np nx的情況 sort 1 readarray 2 exchange 2 quicksort 2 partition 3 這時(shí) x肯定就聲明在 p中 非局部名字的訪問(wèn) ? 建立訪問(wèn)鏈 – 假定嵌套深度為 np的過(guò)程 p調(diào)用嵌套深度為 nx的過(guò)程 x (1) np nx的情況 – 被調(diào)用過(guò)程的訪問(wèn)鏈必須指向調(diào)用過(guò)程的活動(dòng)記錄的訪問(wèn)鏈 ? 訪問(wèn)非局部名字的存儲(chǔ)單元 sort readarray exchange quicksort partition s a, x q (1, 9) k, v 訪問(wèn)鏈 s a, x q (1, 3) k, v 訪問(wèn)鏈 q (1, 9) k, v 訪問(wèn)鏈 s a, x q (1, 3) k, v 訪問(wèn)鏈 q (1, 9) k, v 訪問(wèn)鏈 p (1, 3) i, j 訪問(wèn)鏈 e (1, 3) 訪問(wèn)鏈 s a, x q (1, 3) k, v 訪問(wèn)鏈 q (1, 9) k, v 訪問(wèn)鏈 p (1, 3) i, j 訪問(wèn)鏈 非局部名字的訪問(wèn) 非局部名字的訪問(wèn) ? 建立訪問(wèn)鏈 – 假定嵌套深度為 np的過(guò)程 p調(diào)用嵌套深度為 nx的過(guò)程 x (2) np ? nx的情況 sort 1 readarray 2 exchange 2 quicksort 2 partition 3 這時(shí) p和 x的嵌套深度分別為 1, 2, … ,nx? 1的外圍過(guò)程肯定相同 非局部名字的訪問(wèn) ? 建立訪問(wèn)鏈 – 假定嵌套深度為 np的過(guò)程 p調(diào)用嵌套深度為 nx的過(guò)程 x (2) np ? nx的情況 – 追蹤訪問(wèn)鏈 np ? nx + 1次 , 到達(dá)了靜態(tài)包圍 x和 p的且離它們最近的那個(gè)過(guò)程的最新活動(dòng)記錄 – 所到達(dá)的活動(dòng)記錄就是 x的活動(dòng)記錄中的訪問(wèn)鏈應(yīng)該指向的那個(gè)活動(dòng)記錄 ? 訪問(wèn)非局部名字的存儲(chǔ)單元 sort readarray exchange quicksort partition s a, x q (1, 9) k, v 訪問(wèn)鏈 s a, x q (1, 3) k, v 訪問(wèn)鏈 q (1, 9) k, v 訪問(wèn)鏈 s a, x q (1, 3) k, v 訪問(wèn)鏈 q (1, 9) k, v 訪問(wèn)鏈 p (1, 3) i, j 訪問(wèn)鏈 e (1, 3) 訪問(wèn)鏈 s a, x q (1, 3) k, v 訪問(wèn)鏈 q (1, 9) k, v 訪問(wèn)鏈 p (1, 3) i, j 訪問(wèn)鏈 非局部名字的訪問(wèn) 非局部名字的訪問(wèn) program param(input, output)。 begin writeln(h(2)) end 。 var m: integer。 begin f := m+n end {f}。 b(f) end {c}。( 過(guò)程作為參數(shù) ) procedure b(function h(… begin writeln(h(2)) end 。 var m: integer。 begin m := 0。 begin c end. 從 b的訪問(wèn)鏈難以建立 f的訪問(wèn)鏈 訪 問(wèn) 鏈 訪 問(wèn) 鏈 param c m b f 非局部名字的訪問(wèn) program param(input, output)。 procedure c。 function f(n: integer)… begin f := m+n end {f}。 b(f) end {c}。( 過(guò)程作為參數(shù) ) procedure b(function h(… begin writeln(h(2)) end 。 var m: integer。 begin m := 0。 begin c end. b調(diào)用 f時(shí),用傳遞過(guò)來(lái)的訪問(wèn)鏈來(lái)建立 f的訪問(wèn)鏈 訪 問(wèn) 鏈 訪 問(wèn) 鏈 param c m b f, 訪 問(wèn) 鏈 b 非局部名字的訪問(wèn) program ret (input, output)。 function a: function (integer): integer。 function addm (n: integer): integer。 begin m:= 0。 procedure b (g: function (integer): integer)。 begin f := a。( 過(guò)程作為返回值 ) var f: function (integer): integer。 var m: integer。 begin return m+n end。 return addm end。 begin writeln (g(2)) end。 b(f) end. a ret b addm 執(zhí)行 addm時(shí), a的活動(dòng)記錄已不存在,取不到 m的值 非局部名字的訪問(wèn) ? C語(yǔ)言的函數(shù)聲明不能嵌套 , 函數(shù)不論在什么情況下激活 , 要訪問(wèn)的數(shù)據(jù)分成兩種情況 – 非靜態(tài)局部變量 ( 包括形式參數(shù) ) , 它們分配在活動(dòng)記錄棧頂?shù)哪莻€(gè)活動(dòng)記錄中 – 外部變量 ( 包括定義在其它源文件之中的外部變量 ) 和靜態(tài)的局部變量 , 它們都分配在靜態(tài)數(shù)據(jù)區(qū) – 因此 C語(yǔ)言允許函數(shù) ( 的指針 ) 作為返回值 非局部名字的訪問(wèn) 動(dòng)態(tài)作用域 ? 被調(diào)用過(guò)程的非局部名字 a和它在調(diào)用過(guò)程中引用的是同樣的存儲(chǔ)單元 – 基于 運(yùn)行時(shí)的調(diào)用關(guān)系 – 而不 是基于靜態(tài)作用域來(lái)確定 ? 新的綁定僅為被調(diào)用過(guò)程的局部名字建立 ,這些名字在被調(diào)用過(guò)程的活動(dòng)記錄中占用存儲(chǔ)單元 – 這一點(diǎn) 與靜態(tài)作用域沒(méi)有區(qū)別 非局部名字的訪問(wèn) program dynamic(input, output)。 procedure show。 procedure small。 begin r := 。 begin r := 。 small。 show。 writeln end. dynamic show small small show show show 非局部名字的訪問(wèn) program dynamic(input, output)。 procedure show。 procedure small。 begin r := 。 begin 靜態(tài)作用域 r := 。 small。 show。 writeln end. dynamic show small small show show show 非局部名字的訪問(wèn) program dynamic(input, output)。 procedure show。 procedure small。 begin r := 。 begin 動(dòng) 態(tài)作用域 r := 。 small。 show。 writeln end. dynamic show small small show show show 非局部名字的訪問(wèn) 實(shí)現(xiàn)動(dòng)態(tài)作用域的方法 ? 深訪問(wèn) – 用控制鏈搜索運(yùn)行棧 , 尋找包含該非局部名字的第一個(gè)活動(dòng)記錄 ? 淺訪問(wèn) – 為每個(gè)名字 在 靜態(tài)分配的存儲(chǔ)空間 中保存它的當(dāng)前值 – 當(dāng)過(guò)程 p的新活動(dòng)出現(xiàn)時(shí) , p的局部名字 n使用在靜態(tài)數(shù)據(jù)區(qū)分配給 n的存儲(chǔ)單元 。 var r: real。 begin write(r: 5: 3) end。 var r: real。 show end。 show。 writeln。 small。 var r: real。 begin write(r: 5: 3) end。 var r: real。 show end。 show。 writeln。 small。 var r: real。 begin write(r: 5: 3) en
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1