陣列與結構
陣列與結構 陣列宣告: 資料型別 陣列名稱[陣列大小]; 含陣列值初始化: 資料型別 陣列名稱[陣列大小]={值1, 值2, 值3 …}; 陣列存取 使用陣列索引值(由0開始) 陣列應用一:排序 泡沫排序法 計數排序法 陣列應用二:搜尋 線性搜尋法 二分搜尋法 範例6-1ab , p.6-4 範例6-1e , p.6-13 範例6-1f , p.6-16 範例6-1h , p.6-23 範例6-1i , p.6-26
動態物件與動態物件陣列(1) 靜態物件(陣列):設計階段所佈置者 動態物件(陣列):執行階段所產生者 如何使用動態物件(陣列)? 宣告物件(陣列): 型別 * 名稱; TEdit * edi; 產生物件(陣列) 存取物件(陣列)
動態物件與動態物件陣列(2) 1. TEdit * edi; 2. 動態產生物件(陣列): edi = new TEdit(this); edi -> Parent = Form1; //設定容器物件 edi -> Text = “5”; //設定內容,非必要 edi -> Left=60; // 設定x,非必要 edi -> Top=60; // 設定y,非必要 edi -> Show(); 3. 物件(陣列)存取: Form1 -> Caption = edi -> Text; 範例6-2a-e , p.6-31
結構 型別宣告: struct 結構名稱{ 資料型別 名稱1; 資料型別 名稱2; … 資料型別 名稱n; }; 用以儲存不同型別資料的單元,不同於陣列只能儲存 同一型別的資料 型別宣告: struct 結構名稱{ 資料型別 名稱1; 資料型別 名稱2; … 資料型別 名稱n; }; 使用方式: 結構名稱.資料名稱 範例6-3a , p.6-46
指標 直接與記憶體打交道,程式執行效率高 指標變數宣告: 資料型別 *指標變數名稱; 指標變數 代表位址 * 指標變數 代表位址內的值 指標與陣列 指標名稱=陣列名稱 指標名稱=指標名稱+1 或指標名稱++ 移動陣列位置 *指標名稱 取出陣列內的值 範例6-4a , p.6-52
指標 指標與陣列 int a[6]={0,55,66,77,88,99}; //宣告陣列a int *ptr; // 宣告指標變數ptr 指標名稱=陣列名稱 指標名稱=指標名稱+1 或指標名稱++ 移動陣列位置 *指標名稱 取出陣列內的值 int a[6]={0,55,66,77,88,99}; //宣告陣列a int *ptr; // 宣告指標變數ptr // ------------------------------------------------ ptr=a; 將ptr指向a[0] ptr[0]=0, ptr[1]=55, ptr[2]=66 ….. *ptr 0 // ------------------------------------------------- ptr=&a[1]; 將ptr指向a[1] ptr[0]=55, ptr[1]=66 ….. *ptr 55