《Borland C++ Builder 3.0》
cout是一個專門用來處理輸出的類別,功能強大。原型在iostream.h。
endl代表換行。
字串常數(string constant): 定義後即不能變更值。
Program = Data + Algorithm
raw data + Program = Information
變數的定義與宣告稍有不同,定義一個變數就等於告訴complier替這個變數預留記憶體位置。宣告只是通知complier可以在某個地方找到這個變數的定義。通常兩者為同一件事,只有當變數要在不同的編譯模組(OBJ)使用時,才會有獨立的宣告敘述(extern int... )
BCB 的 keyword Fig 2.2(68)
BCB 的資料型態 Fig2.3(69)
儲存資料方式
靜態配置(static/ local allocation): 陣列
動態配置(dynamic allocation): 指標
C++ 運算子Fig2.9(78)
local allocation 是在 stack 上配置一個變數(local variable)的記憶體位址,而stack上的資料會在函式switch時被覆蓋,所以變數的值只有在函式內有效。
指標圖解 Fig2.16 (95)
指向不同型態的指標變數,會依據指標變數所指向的資料型態,來取出適當範圍內記憶體所存的資料。
可以使用 sizeof 這個運算子取得各種資料型態所佔的 byte 數。
指標變數遞增(increament)時,不同型態的指標變數所造成的記憶體位址增量是不同的。
所有程式執行前都會複製到記憶體裡,程式一開始執行就變成一個程序(process),排在系統的佇列(queue)中,等待CPU執行。所有事都在記憶體裡發生。
陣列擁有固定的記憶體區塊,超過陣列範圍的存取會被 complier 檢查出來。指標則否,指標變數可能在執行時期(Run-time)獲得超出範圍的值,造成潛在危險。應訂定上下界規範指標範圍。
字串必須以空字元(0)結尾,一般以cin讀取字串或定義宣告字串時會自動產生空字元,但宣告字元陣列時要注意,自行加上空字元。
動態記憶體
- 動態記憶體配置(dynamic allocation): 指標變數 (Ptr) = new 配置的資料型態 [配置的大小]l;
- 動態記憶體回收(dynamic de-allocation): delete [配置的大小] 指標變數 (Ptr) ;
- strlen() 取出的字串長度不包括空字元在內
- 動態配置記憶體的大小需為字串的長度+1,以容納空字元
標準字元函式 Fig2.19 (103)
多維陣列記憶體配置圖解 Fig2.20(105)
AnsiString(111-119)