C++ 寫個遊戲引擎—(基礎篇)5
結束了介紹 c++ 如何將程式碼編譯為機器碼的過程的分享。今天介紹一下 c++ 基本資料型別。

有些書籍和教程中有關基本資料型別分類可能與此有所不同。可能有將 bool 和 char 從整型中獨立出來。其實 char 和 bool 也都可以歸類為整型。
資料型別一個用途就是規定來資料佔用記憶體位元組數。

以這裡整型為例,int 佔記憶體 4個位元組,1 個位元組為 8 bit。每個 bit 值為 0 或 1。整型的 1 bit 通過 0 和 1 表示正負資訊,其他 31 bit 位表示數值。
我們可以通過計算器計算一下 31 bit 表示數值範圍。

如果 int 不需要符號我們在 int 新增 unsigned 來表示無符號的整型數值,這樣取值範圍也相對變大。


可以為 char 型別變數賦值字母,也可以為賦值一個字母所對應的 ASCII 碼,例如 大寫的 A 對應 65,如果變數賦值 65 也會打印出字母 A.

我們為變數定義浮點型,下圖我們為 float 型別 variable 賦值 5.5. 當滑鼠移動 5.5 發現其型別為 double. 這是因為 double 型別包含 float 型別,且我們指定 5.5 為 float 型別,可能有點 confusing,繼續向下看吧。

為確保 5.5 為 float 型別,我們需要在數值後加 f,加上 f 後,此時 5.5 就是 float 型別。

通過 sizeof 來獲取各個型別所佔的位元組數

接下來我們介紹一下指標型別資料,指標是 c 和 c++ 的利器,同樣也是難於理解的。我們多半都會在這部分內容上花費一定時間來理解什麼是指標。有時候我們需要簡化問題,看問題的本質。其實 指標就是表示記憶體地址的整型數值 。不要為定義他前面的符號和型別所迷惑,指標就是表示記憶體地址的整型數值,前面定義型別對於指標沒有任何意義。如果您掌握了這點,指標就沒什麼讓您 confusing 的了。
computer 主要任務就是處理記憶體,記憶體幾乎是 computer 的全部。當啟動一個應用程式,程式會被讀入到記憶體中,cpu 通過指令來訪問記憶體中資料來執行程式。指標用於處理和管理記憶體,所以指標是非常重要的。
可以將記憶體想象為城市一條街道,從頭到尾一條線下來,排列 house。指標就是標識每個 house 門牌號。我們傳送郵件我們就需要 house 地址,這樣才能傳送郵件到正確的目的地。
我們來定義指標如下圖,prt 就是整型數值,不要被前面 void 所幹擾,
如果將 ptr 賦值為 0 或 NULL(其實 NULL 就是 0)來初始化指標。0 對於指標是無效,所以我們不能將 ptr 定義為 0 或 NULL。


我們可以將指標初始化為 c++ 提供的 nullptr。nullprt 是有效值

現在我們定義 int 變數 var 為 8

如果用取址操作符 & 獲取 var 儲存值得記憶體地址,然後賦值給指標 prt,然後我們在 9 行上打一個斷點,執行除錯,當滑鼠移到 prt 上,發現 prt 為整型數值,這就是var儲存資料的記憶體地址,複製該資料值(地址)。在選單欄【除錯】>【視窗】>【記憶體】>【記憶體1】看起檢視記憶體。

將數值貼上到地址輸入框中, 我就看到 08 00 00 00 為 8
