1. การประกาศตัวแปรแบบอาเรย์
typeVar VarName[n]
เมื่อ
typeVar คือ ชนิดของตัวแปร
VarName คือ ชื่อของตัวแปรที่จะกำหนด
n คือจำนวนสมาชิกในอาเรย์ที่ต้องจองไว้ในหน่วยความจำนั้น
ตัวอย่างเช่น
int Element [10] ;
มิติของอาเรย์
อาเรย์มีหลายมิติขึ้นอยู่กับจัดเก็บข้อมูลหรือความสัมพันธ์นั้นๆ ในที่นี้ขอยกตัวอย่างอาเรย์ที่ใช้กันเยอะคือ
1 อาเรย์ 1 มิติ ตัวอย่างเช่น int Element [5] ข้อมูลจะเรียงกันเป็นตารางที่มีจำนวน 1 แถว และมีสมาชิก 10 หลัก
2 อาเรย์ 2 มิติ ตัวอย่างเช่น int Element [4][5] ซึ่งข้อมูลหรือตัวแปรย่อยจะจัดเรียงในตารางที่มีจำนวน 4 แถว 5 หลัก หรือมองง่ายๆเป็น Matrix ขนาด 4x5
ภาพที่ 1 อาเรย์แบบ 1 มิติ
ภาพที่ 2 อาเรย์ 2 มิติ
การกำหนดค่าตัวแปรอาเรย์
เทคนิคหนึ่งในการเขียนโปรแกรมภาษา c ก็คือ จะต้องกำหนดค่าให้กับตัวแปรก่อนนำไปใช้งาน เพื่อป้องกันความผิดพลาดที่จะเกิดขึ้น ในการกำหนดค่าตัวแปรอาเรย์สามารถทำได้โดยการเข้าถึงตัวแปรสมาชิกโดยตรงจากการอ้างตำแหน่งของตัวแปร ตัวอย่างเช่น ต้องการกำหนดค่าให้กับตัวแปร Element ตัวที่ 3 สามารถเขียนโค้ดได้ดังนี้
Element[2] = value ; // index ของตัวแปรอาเรย์ในภาษาซีจะเริ่มที่ 0 จนถึง n-1 เมื่อ n คือ จำนวนสมาชิกในอาเรย์
ข้อควรจำ
หลังจากสร้างตัวแปรอาเรย์แล้วควรกำหนดค่าตัวแปรทันที เพื่อป้องกันความผิดพลาด โดยหากยังไม่มีข้อมูลให้กำหนดค่า Null ให้กับตัวแปร อาเรย์ โค้ตตัวอย่างการกำหนดค่า 0 ให้กับตัวแปรอาเรย์จะอาศัยคำสั่ง for ดังนี้
สมมุติ อาเรย์ 4X5
for( int i = 0 ; i < 4 ; i++)
{
for(int j = 0 ; j < 5 ; j++)
{
Element[i][j] = 0 ;
}
}
การเข้าถึงข้อมูลในตัวแปรอาเรย์
เราจะอ้างด้วยตำแหน่งของตัวแปรในอาเรย์นั้น ตามภาพที่ 1 และ 2
เช่น Element[0][1] หมายถึง ตำแหน่งแถวที่ 0 หลักที่ 1 เป็นต้น การใช้คำสั่ง for , while , do..while เพื่อใช้ในการเข้าถึงหรือกำหนดค่าเป็นสิ่งที่โปรแกรมเมอร์ต้องพบอยู่เสมอ
จากตัวอย่างข้างต้นเป็นการกำหนดตัวแปรอาเรย์แบบสเตติก ซึ่งต้องจองหน่วยความจำตั้งแต่เริ่มต้น ยังมีวิธีการกำหนดตัวแปรอาเรย์แบบ dynamic ซึ่งมักจะใช้ในกรณีที่ไม่ทราบจำนวนสมาชิกในตัวแปรอาเรย์ที่แน่นอน ซึ่งเราจะใช้ pointer มาช่วยในการกำหนด ซึ่งจะทำให้โปรแกรมเมอร์จองหน่วยความจำได้พอดีกับที่ต้องใช้งานจริง ตัวอย่างเช่น
อาเรย์ 1 มิติ
// C++
int * Element ; // ประกาศไว้ตอนต้น
Element = NULL;
เมื่อจะใช้งาน
Element = new int [size];
// do some thing
เมื่อใช้เสร็จ
delete [] Element ;
Element = NULL ;
อาเรย์ 2 มิติ ขนาด row x col
int ** Element ;
Element = NULL ;
Element = new int* [row];
for (int i= 1 ; i < row ; i++)
{
Element[i] = new int [col];
}
// do some thing
เมื่อใช้งานเสร็จ
for (int i = 1 ; i < row ; i++)
{
delete [] Element[i];
}
delete [] Element ;
Element = NULL;
หลังจากศึกษาบทความนี้แล้วขอให้ท่านผู้อ่านลองกลับไปทบทวน การดำเนินการกับตัวแปรอาเรย์ดูนะครับ ซึ่งผมบอกได้เลยว่าหากเราควบคุมตัวแปรอาเรย์ได้ จะทำให้เรานำตัวแปรอาเรย์นี้ไปประยุกต์ใช้กับโค้ดโปรแกรมต่างๆได้อย่างมีประสิทธิภาพ ซึ่งจะนำเสนอในโอกาสต่อไป สวัสดีครับ
Live Sports Betting - VNTOPbet
ReplyDeleteOur professional soccer tipsters cover all sports and offers all bk8 major European soccer, including European Champions League, Bundesliga, Serie クイーンカジノ A starvegad and more.