วันจันทร์ที่ 29 มิถุนายน พ.ศ. 2552

DTS : 02-24/06/2552

Array and Record

Array
อะเรย์จะประกอบด้วยสมาชิกที่มีจำนวนคงที่ มีรูปแบบข้อมูลเป็นแบบเดียวกัน สมาชิกแต่ละตัวใช้เนื้อที่จัดเก็บที่มีขนาดเท่ากัน เรียงต่อเนื่องในหน่วยความจำหลัก
การกำหนดอะเรย์ จะต้องกำหนดชื่ออะเรย์ พร้อม subscript ซึ่งเป็นตัวกำหนดขอบเขตของอะเรย์ มีได้มากกว่า 1 ตัวจำนวน subscript จะเป็นตัวบอกมิติของอะเรย์นั้น อะเรย์ที่มี subscript มากกว่า 1 ตัวขึ้นไป เรียกว่า อะเรย์หลายมิติ
การกำหนด subscript แต่ละตัวจะประกอบด้วยค่าสูงสุดและค่าต่ำสุดของ subscript นั้น
อะเรย์ 1 มิติ
หมายถึง คอมพิวเตอร์จะจองเนื้อที่ในหน่วยความจำสำหรับตัวแปร a ให้เป็นตัวแปรชุดชนิด character ขนาดสมาชิก 4 สมาชิก โดยหน่วยความจำจะเตรียมเนื้อที่ให้ byte สำหรับ 1 ชื่อตัวแปร
Initialization คือ การกำหนดค่าเริ่มต้นให้กับอะเรย์
การส่งอะเรย์ให้ฟังก์ชัน สามารถกำหนดอะเรย์เป็นพารามิเตอร์ให้กับฟังก์ชันได้ 2 ลักษณะ คือ
- การกำหนด array element เป็นพารามิเตอร์ส่งค่าให้กับฟังก์ชัน ทำโดยอ้างถึงชื่ออะเรย์พร้อมระบุ subscript
- ส่งอะเรย์ทั้งชุดให้ฟังก์ชัน ทำโดยอ้างถึงชื่ออะเรย์โดยไม่มี subscript
การประกาศอาร์กิวเมนต์ให้ฟังก์ชันเป็นอะเรย์
- มีการประกาศขนาดของอะเรย์ที่ทำหน้าที่ในการรับค่า
- ไม่ต้องมีการประกาศขนาดของอะเรย์ที่ทำหน้าที่ในการรับค่า
- ตัวแปรที่ทำหน้าที่รับค่าถูกกำหนดเป็นพอยน์เตอร์
อะเรย์ 2 มิติ
หมายถึง อะเรย์ที่มีสมาชิกโครงสร้างข้อมูลอะเรย์ ลักษณะเป็ตารางที่มีแถวและคอลัมน์ หรือเรียกว่า แมตทริก (Matrix)
Record or Structure
เป็นโครงสร้างข้อมูลที่ประกอบขึ้นมาจากข้อมูลพื้นฐานต่างประเภทกัน รวมเป็น 1 ชุดข้อมูล จะประกอบด้วย data element หรือ field ต่างประเภทกันอยู่รวมกัน ในภาษาซีคือการกำหนดข้อมูลเป็นรูปแบบ Structure
Structure คือ โครงสร้างที่สมาชิกแต่ละตัวมีประเภทข้อมูลแตกต่างกันได้ โดยที่ใน structure อาจมีสมาชิกเป็นจำนวนเต็ม ทศนิยม อักขระ อะเรย์ หรือพอยเตอร์ หรือแม้แต่ structure ด้วยกันก็ได้
การประกาศสมาชิกแต่ละตัวของ structure
สมาชิกแต่ละตัวของ structure จะเป็นตัวแปรธรรมดา พอยเตอร์ อะเรย์ หรือ structure ตัวอื่นก็ได้ โดยชื่อของสมาชิกแต่ละตัวต้องแตกต่างกัน
การกำหนดค่าเริ่มต้นให้สมาชิกของ structure ค่าเริ่มต้นที่จะกำหนดให้กับสมาชิกตัวใต ต้องอยู่ในตำแหน่งที่ตรงกับสมาชิกตัวนั้น ค่าเร่มต้นต้องอยู่ในวงเล็บปีกกาและข้อมูลค่าเริ่มต้นแต่ละตัวแยกกันด้วยเครื่องหมาย ,
การอ้างถึงตัวแปรที่อยู่ในตัวแปรชนิดโครงสร้าง สามารถอ้างถึงตัวแปรที่อยู่ในตัวแปรชนิดโครงสร้างได้
รูปแบบ
structure-variable.element-name
structure-variable ชื่อตัวแปรชนิดโครงสร้าง
element-name ชื่อตัวแปรที่อยู่ใน structure
Structure กับ pointer
เราสามารถอ้างถึงที่อยู่เริ่มต้นของ structure ได้เหมือนกับตัวแปรอื่น โดยใช้ตัวดำเนินการ &
ดังนั้น ถ้า variable เป็นตัวแปรประเภท structure&variable จะเป็นเลขที่อยู่เริ่มต้นของตัวแปร นอกจากนี้ยัสามารถประกาศตัวแปรพอยน์เตอร์เป็น structure ได้
การผ่าน structure ให้ฟังก์ชัน
1. ส่งสมาชิกแต่ละตัวของ structure สามารถส่งเป็นอาร์กิวเมนต์ของฟังก์ชันและส่งกลับจากฟังก์ชันได้โดยใช้คำสั่ง return ซึ่งมีทั้งการส่งค่าของตัวแปรที่อยู่ในตัวแปร structure และส่งตำแหน่งที่อยู่ของตัวแปรนั้นๆไปยังฟังก์ชัน
2. ส่งผ่านทั้ง structure ให้กับฟังก์ชัน จะส่งผ่านในลักษณะของพอยเตอร์ไปยัง structure โดยหลักการจะเหมือนกับการส่งผ่านอะเรย์ไปให้ฟังก์ชัน ซึ่งเป็นลักษณะที่เรียกว่า Pass by reference





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

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