国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

Lua的堆棧淺析

2024-07-21 23:03:59
字體:
來源:轉載
供稿:網友

上一章傳送門:http://m.survivalescaperooms.com/tech/jiaoben/lua/265347.html
 
經過上一章的講解,相信大家也看到了,Lua的堆棧是很重要不可或缺的,就像我的旁白一樣(旁白:他竟然贊我了。。。好羞澀~)。雖然看起來沒什么用,但是少了又絕對不行。
(旁白:你妹紙的,你這算是贊人嗎?)

在這里我僅簡單解釋一下Lua堆棧的索引,因為我們在很多操作里都涉及到堆棧的索引,比如上一章中我們要從堆棧中取得一個字符串,就必須給出堆棧索引:

復制代碼 代碼如下:

/* 獲取棧頂的值 */
    const char* str = lua_tostring(pL, 1);

如果對堆棧索引不清晰的話,將會很糾結。

 

《游戲人工智能編程案例精粹》一書的200頁,有一張圖,很好地表達了Lua的堆棧索引是如何定義的,我照著畫了一張:

Lua,堆棧

(旁白:好丑~!而且還打了一個廣告,別以為我不知道~!)
 
我們很明顯的看到堆棧的索引方式有兩種,一種是正數索引,一種是負數索引。
并且咋一看,好像兩種索引方式的規則是相反的,其實不然,我們來認真數數:
1. 正數索引,棧底是1,然后一直到棧頂是逐漸+1,最后變成9(9大于1)
2. 負數索引,棧底是-9,然后一直到棧頂是逐漸+1,最后變成-1(-1大于-9)
(旁白:這,這還真的是一樣的~!好神奇!)

對吧,一般像旁白那種人才會認為是相反的規則。
(旁白:吐槽是我的專利= =!)
 
大家不覺得奇怪嗎?為什么要用兩種方式?好混亂~!
我也覺得,但是有一點好處,看看它們各自的好處:
1. 正數索引,不需要知道棧的大小,我們就能知道棧底在哪,棧底的索引永遠是1
2. 負數索引,不需要知道棧的大小,我們就能知道棧頂在哪,棧頂的索引永遠是-1
(旁白:又好像有那么一點道理。。。)
 
 
OK,本章到此結束。
 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 内乡县| 社旗县| 平凉市| 漳平市| 大厂| 岳阳县| 白银市| 健康| 肃南| 绍兴县| 温宿县| 太仓市| 梁平县| 南投县| 太康县| 滕州市| 竹山县| 长宁区| 建德市| 朝阳区| 陵水| 元阳县| 缙云县| 广安市| 垦利县| 东莞市| 新晃| 静安区| 昭平县| 阜康市| 清水河县| 建宁县| 肥城市| 湘潭县| 东平县| 同江市| 阜城县| 商丘市| 道孚县| 兴隆县| 光泽县|