วันอังคารที่ 30 มิถุนายน พ.ศ. 2552

DTS03 -30/06/52

สรุป
อะเรย์(Array)
อะเรย์เป็นโครงสร้างข้อมูลที่เรียกว่า Linear List มีลักษณะคล้ายเซ็ตในคณิตศาสตร์ คือ อะเรย์จะประกอบด้วยสมาชิกที่มีจำนวนคงที่ มีรูปแบบข้อมูลเป็นแบบเดียวกัน
การกำหนดอะเรย์(Array)
ต้องกำหนดชื่ออะเรย์ พร้อมSubscript ซึ่งเป็นตัวกำหนดขอบเขตของอะเรย์ มีได้มากกว่า1ตัวจำนวน subscript จะเป็นตัวบอกมิติของอะเรย์นั้น
การกำหนด Subscript แต่ละตัวจะประกอบด้วย ค่าสูงสุด และค่าต่ำสุดของsubscript
ข้อกำหนดของการกำหนดค่าต่ำสุดและค่าสูงสุดของ Subscript คือ
1. ค่าต่ำสุดต้องมีค่าน้อยกว่าหรือเท่ากับค่าสูงสุดเสมอ
2. ค่าต่ำสุด เรียกว่า ขอบเขตล่าง (lower bound)
3. ค่าสูงสุด เรียกว่า ขอบเขตบน (upper bound)
ประเภทของอะเรย์ในมิติต่าง ๆ
- อะเรย์ 1 มิติ
รูปแบบ
data-type array-name[expression]
data-type คือ ประเภทของข้อมูลอะเรย์ เช่น int
char float
array-name คือ ชื่อของอะเรย์
expression คือ นิพจน์จำนวนเต็มซึ่งระบุจำนวน
สมาชิกของอะเรย์
ตัวอย่าง char a[4]; int num[10];

Initialization
คือ การกำหนดค่าเริ่มต้นให้กับอะเรย์การกำหนดค่าให้กับตัวแปรชุดที่มีค่าเป็นตัวเลข
การส่งอะเรย์ให้ฟังก์ชัน
สามารถกำหนดอะเรย์เป็นพารามิเตอร์ส่งให้กับฟังก์ชันได้ 2 ลักษณะ
1. การกำหนด array element เป็นพารามิเตอร์ส่งค่าให้กับฟังก์ชัน ทำได้โดยอ้างถึงชื่ออะเรย์พร้อมระบุSubscript
2. ส่งอะเรย์ทั้งชุดให้ฟังก์ชัน ทำได้โดยอ้างถึงชื่ออะเรย์โดยไม่มีSubscript
การประกาศอาร์กิวเมนต์ในฟังก์ชันเป็นอะเรย์
ถ้าเป็นอะเรย์มิติเดียว สามารถทำได้ทั้งหมด 3 วิธี
1. มีการประกาศขนาดของอะเรย์ที่ทำหน้าที่ในการรับค่า
2. ไม่ต้องมีการประกาศขนาดของอะเรย์ที่ทำหน้าที่ในการรับค่า
3. ตัวแปรที่ทำหน้าที่รับค่าถูกกำหนดเป็นพอยน์เตอร์
- อะเรย์ 2มิติ
รูปแบบ
type array-name[n] [m];
type หมายถึง ชนิดของตัวแปรที่ต้องการประกาศเป็นอะเรย์
array-name หมายถึง ชื่อของตัวแปรที่ต้องการประกาศเป็นอะเรย์
n หมายถึง ตัวเลขที่แสดงตำแหน่งของแถว
m หมายถึง ตัวเลขที่แสดงตำแหน่งของคอลัมน์

Record or Structure
Structure คือ โครงสร้างที่สมาชิกแต่ละตัวมีประเภทข้อมูลแตกต่างกันได้ โดยที่ใน structureอาจมีสมาชิกเป็นจำนวนเต็ม ทศนิยม อักขระ อะเรย์หรือพอยเตอร์ หรือแม้แต่ structure ด้วยกันก็ได้
Structure กับ pointer
เราสามารถที่จะอ้างถึงที่อยู่เริ่มต้นของ structure ได้เหมือนกับตัวแปรอื่น ๆ โดยใช้ตัวดำเนินการ &ดังนั้น ถ้าvariable เป็นตัวแปรประเภท structure&variable จะเป็นเลขที่อยู่เริ่มต้นของตัวแปร นอกจากนี้ยังสามารถประกาศตัวแปรพอยน์เตอร์สำหรับ structure ดังนี้
type *ptvar
type คือ ประเภทข้อมูลที่เป็น structure
ptvar คือ ชื่อของตัวแปรพอยน์เตอร์
เราสามารถที่จะเรียกใช้สมาชิกแต่ละตัวใน
structure ได้จากตัวแปรพอยน์เตอร์ ดังนี้
รูปแบบ
ptvar -> member-name
ptvarคือ ตัวแปรพอยน์เตอร์ที่ชี้ไปยัง structure
-> คือ ตัวดำเนินการที่เทียบได้กับตัวดำเนินการ .
member-name คือ สมาชิกของ structureหรือ (*ptvar).member-name
ข้อสังเกต ที่ต้องใส่ ( ) ที่ตัวแปรพอยน์เตอร์เพราะเครื่องหมาย .
จะมีลำดับการทำงานสูงกว่าเครื่องหมาย *
ตัวอย่าง
struct account {
int acct_no;
char name[30];
int age;
}customer;
struct account *p = &customer;
ถ้าต้องการเรียกใช้ acct_no ของตัวแปรstructure ชื่อ customer จะเขียนได้ ดังนี้
customer.acct_no
หรือ p->acct_no
หรือ (*p).acct_no
การผ่าน structure ให้ฟังก์ชัน
ประเภทของการส่งผ่าน structureให้ฟังก์ชันนั้น มี 2 ประเภท คือ
1. ส่งสมาชิกแต่ละตัวของ structureสมาชิกแต่ละตัวของ structure สามารถส่ง
เป็นอาร์กิวเมนต์ ของฟังก์ชันและส่งกลับจากฟังก์ชันได้โดยใช้คำสั่ง return ซึ่งมีทั้งการส่ง
ค่าของตัวแปรที่อยู่ในตัวแปรstructure และก็ส่งตำแหน่งที่อยู่ของตัวแปรนั้น ๆ ไปยังฟังก์ชัน
2. ส่งผ่านทั้ง structure ให้กับฟังก์ชันจะส่งผ่านในลักษณะของพอยน์เตอร์ไปยัง structure โดยหลักการจะเหมือนกับการส่งผ่านอะเรย์ไปให้ฟังก์ชัน ซึ่งเป็นลักษณะที่เรียกว่าPass by reference

ไม่มีความคิดเห็น:

แสดงความคิดเห็น