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

DTS03 30/06/2552

เรื่อง Array and Record

อะเรย์เป็นโครงสร้างข้อมูลที่เรียกว่า Linear List มีลักษณะ
คล้ายเซ็ตในคณิตศาสตร์ คือ อะเรย์จะประกอบด้วยสมาชิกที่มีจำนวน
คงที่ มีรูปแบบข้อมูลเป็นแบบเดียวกัน

ข้อกำหนดของการกำหนดค่าต่ำสุดและค่าสูงสุดของ subscript คือ
1. ค่าต่ำสุดต้องมีค่าน้อยกว่าหรือเท่ากับค่าสูงสุดเสมอ
2. ค่าต่ำสุด เรียกว่า ขอบเขตล่าง (lower bound)
3. ค่าสูงสุด เรียกว่า ขอบเขตบน (upper bound)
lower bound ≤ subscript ≤ upper bound

ขนาดของอะเรย์ = ผลคูณของขนาดของsubscript แต่ละตัว เช่น
ขนาดของอะเรย์ A = Upper bound – lower bound+1
= 10-1+1 = 10

การจัดเก็บอะเรย์ในหน่วยความจำหลัก จะพิจารณาตาม ประเภทของอะเรย์ในมิติต่าง ๆ ดังนี้
- อะเรย์ 1 มิติ
- อะเรย์ หลายมิติ

การส่งอะเรย์ให้ฟังก์ชัน
สามารถกำหนดอะเรย์เป็นพารามิเตอร์ส่งให้กับฟังก์ชันได้ 2 ลักษณะ
1. การกำหนด array element เป็นพารามิเตอร์ส่งค่าให้กับฟังก์ชัน ทำได้โดยอ้างถึงชื่ออะเรย์พร้อมระบุ
subscript
2. ส่งอะเรย์ทั้งชุดให้ฟังก์ชันทำได้โดยอ้างถึงชื่ออะเรย์โดยไม่มีsubscript

Record or Structure
เป็นโครงสร้างข้อมูลที่ประกอบขึ้นมาจากข้อมูลพื้นฐานต่างประเภทกัน รวมเป็น 1 ชุดข้อมูล
Structure
คือ โครงสร้างที่สมาชิกแต่ละตัวมีประเภทข้อมูลแตกต่างกันได้ โดยที่ใน structure
อาจมีสมาชิกเป็นจำนวนเต็ม ทศนิยม อักขระ อะเรย์

นิยาม structure
-struct เป็นคำหลักที่ต้องมีเสมอ
-struc-name ชื่อกลุ่ม structure
-type ชนิดของตัวแปรที่อยู่ในกลุ่ม structure
-name-n ชื่อของตัวแปรที่อยู่ในกลุ่ม structure
-struc-variable ชื่อตัวแปรชนิดโครงสร้าง

การกำหนดค่าเริ่มต้นให้กับสมาชิกของ structure
สามารถกำหนดค่าเริ่มต้นให้กับสมาชิกของ structure ได้โดยค่าเริ่มต้นที่จะกำหนดให้กับสมาชิกตัวใด จะต้องอยู่ในตำแหน่งที่ตรงกับสมาชิกตัวนั้นค่าเริ่มต้นจะต้องอยู่ในวงเล็บปีกกาและข้อมูล
ค่าเริ่มต้นแต่ละตัวแยกกันด้วยเครื่องหมาย

Structure กับ pointer
เราสามารถที่จะอ้างถึงที่อยู่เริ่มต้นของ structure ได้เหมือนกับตัวแปรอื่นๆโดยใช้ตัวดำเนินการ &

การผ่าน structure ให้ฟังก์ชัน
ประเภทของการส่งผ่าน structureให้ฟังก์ชันนั้น มี 2 ประเภท คือ
1. ส่งสมาชิกแต่ละตัวของ structure
สมาชิกแต่ละตัวของ structure สามารถส่งเป็นอาร์กิวเมนต์ ของฟังก์ชันและส่งกลับจากฟังก์ชันได้โดยใช้คำสั่ง return ซึ่งมีทั้งการส่งค่าของตัวแปรที่อยู่ในตัวแปรstructure และก็ส่งตำแหน่งที่อยู่ของตัวแปรนั้น ๆ ไปยังฟังก์ชัน
2. ส่งทั้ง structure
จะส่งผ่านในลักษณะของพอยน์เตอร์ไปยัง structure โดยหลักการจะเหมือนกับการส่งผ่านอะเรย์ไปใหฟังก์ชัน ซึ่งเป็นลักษณะที่เรียกว่า Pass by reference

Pointer
Pointer เป็นตัวแปรชนิดหนึ่งที่ทำหน้าที่เก็บตำแหน่งที่อยู่ (Address) ของตัวแปรที่อยู่ในหน่วยความจำ

เครื่องหมายที่ใช้ทำงานกับตัวแปรพอยน์เตอร์
1. เครื่องหมาย & เป็นเครื่องหมายที่ใช้เมื่อต้องการให้เอาค่าตำแหน่งที่อยู่ของตัวแปรที่เก็บไว้ใน
หน่วยความจำออกมาใช้
2. เครื่องหมาย * มีการใช้งาน 2 ลักษณะ คือ
-ใช้ในการประกาศ parameter ว่าเป็นตัวแปรแบบพอยน์เตอร์
-ใช้เป็น dereferencing operator จะใช้เมื่อต้องการนำค่าที่อยู่ในตำแหน่งที่ตัวแปรพอยน์เตอร์นั้นชี้อยู่
ออกมาแสดง

อาจารย์ให้ส่งบล็อก และ การใช้ Structure โดยมีตัวแปล 8 ตัวแปล

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

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