易語言資料型別記憶體分佈格式
易語言資料型別記憶體分佈格式
資料型別 |
大小(位元組) |
結構說明 |
位元組型 |
1 |
這個沒必要說明… |
短整數型 |
2 |
這個沒必要說明… |
整數型 |
4 |
這個沒必要說明… |
長整數型 |
8 |
這個沒必要說明… |
小數形 |
4 |
這個沒必要說明… |
雙精度小數型 |
8 |
這個沒必要說明… |
文字型 |
4 |
易語言文字型變數其實並未直接儲存文字資料,而是儲存了一個指標(這就是說它的大小是4位元組的原因),這個指標指向的記憶體儲存了文字資料. |
位元組集 |
4 |
位元組集型變數其實並未直接儲存位元組集資料,而是儲存了一個指標(這就是說它的大小是4位元組的原因),這個指標指向的記憶體儲存了位元組集資料. 位元組集資料的結構: 1、 一個恆定為數值1的整數;(4位元組) 2、 一個整數記錄資料的長度;(4位元組) 3、 位元組資料; 也就是說,要獲得真正的位元組集資料地址,要這樣寫: 讀數值 (取地址 (位元組集變數)) + 8 ’加8是偏移8位元組 |
陣列 |
4 |
陣列型變數其實並未直接儲存陣列資料,而是儲存了一個指標(這就是說它的大小是4位元組的原因) ,這個指標指向的記憶體儲存了陣列資料. 陣列資料的結構: 1、 一個整數記錄該陣列的維數;(4位元組) 2、 對應數目的整數值順序記錄對應維的成員數目; 3、 陣列資料; 也就是說,要獲得真正的陣列資料地址,要這樣寫: 讀數值 (取地址 (陣列變數)) + 讀數值(讀數值 (取地址(陣列變數))) × 4 + 4 |
複合資料型別 (包括自定義資料型別和類) |
4 |
也是儲存了指標,這個指標指向的記憶體儲存了資料。 資料的結構: 按順序排列所有成員,注意任何成員如果資料尺寸小於4個位元組,都會被自動對齊到4個位元組。 如以下複合型別: 成員1:位元組型 成員2:短整數型 成員3:整數型 則整個複合型別所佔用的空間為 12 個位元組, 成員1地址:讀數值(取地址 (複合變數)) 成員2地址:讀數值(取地址 (複合變數))+4 成員3地址:讀數值(取地址 (複合變數))+8 |
相關文章
- 基本資料型別與引用資料型別,及記憶體分配資料型別記憶體
- go語言——資料型別Go資料型別
- C語言資料型別C語言資料型別
- Solidity語言學習筆記————41、記憶體佈局Solid筆記記憶體
- C 語言結構體記憶體佈局問題結構體記憶體
- C語言結構體記憶體佈局問題C語言結構體記憶體
- go語言資料型別-基礎型別Go資料型別
- go語言資料型別轉換Go資料型別
- C語言 列舉資料型別C語言資料型別
- C語言-記憶體分配C語言記憶體
- 概念區別 【編譯型語言與解釋型語言、動態型別語言與靜態型別語言、強型別語言與弱型別語言】編譯型別
- 強型別語言變數和資料型別的理解變數資料型別
- 6.Go語言基本資料型別Go資料型別
- C語言-變數常量資料型別C語言變數資料型別
- Python語言的全部資料型別分享!Python資料型別
- Rust語言記憶體管理之妙Rust記憶體
- C語言的記憶體分配C語言記憶體
- C語言記憶體對齊C語言記憶體
- Go語言學習(4) - 基本資料型別Go資料型別
- C語言進階——基本資料型別01C語言資料型別
- flutter【2】dart語言--內建資料型別FlutterDart資料型別
- GO語言學習——基本資料型別字串Go資料型別字串
- Python語言基礎(三):基本資料型別Python資料型別
- 【記憶體管理】記憶體佈局記憶體
- 圖解Go語言記憶體分配圖解Go記憶體
- Go/Golang語言各種資料型別記憶體位元組佔用大小和取值範圍(最小值最大值)Golang資料型別記憶體
- C語言筆記——自定義型別C語言筆記型別
- 語言型別介紹及其Python的語言型別型別Python
- Arm64記憶體模型、記憶體型別、效能與DMA記憶體模型型別
- 計算機語言:編譯型/解釋型、動態語言/靜態語言、強型別語言/弱型別語言計算機編譯型別
- C語言細節 儲存類別,連結,記憶體管理C語言記憶體
- C語言資料型別大學霸IT達人C語言資料型別
- 易語言連結資料庫資料庫
- 幾個例子理解不同資料型別的堆疊記憶體處理資料型別記憶體
- 解釋型語言、編譯型語言 區別編譯
- 非易失性記憶體技術及資料庫記憶體資料庫
- Go語言高階資料型別之指標篇Go資料型別指標
- 32bit的linux系統記憶體分佈Linux記憶體
- Java記憶體模型FAQ(二) 其他語言,像C++,也有記憶體模型嗎?Java記憶體模型C++