อาร์เรย์ (Array)

Download Report

Transcript อาร์เรย์ (Array)

Kairoek Choeychuen
M.Eng (Electrical), KMUTT

การประกาศตัวแปร หลายตัว (มากกว่า 2 ตัวขึ้นไป) โดยตัวแปรภายในอาร์เรย์
จะมีช่อื เหมือนกัน แต่จะต่างกันทีต่ วั เลขดัชนี (index)

โปแกรมจะซับซ้อนและยุ่งยากมากถ้าทันทีถา้ ไม่มี อาร์เรย์ ตัวอย่างเช่น
-การประกาศตัวแปรจานวนเต็มเพือ่ เก็บเลขจานวนเต็ม 10 ตัว
int num1,num2,num3, num4,num5,num6, num7,num8,num9,num10;
-การรับค่าเลขจานวนเต็ม 10 ตัว
scanf(“%d”,&num1);
scanf(“%d”,&num2);
…
scanf(“%d”,&num10);



อาร์เรย์ 1 มิติ (ใช้เก็บข้อมูลเสียง, อุณหภูมิ ได้)
อาร์เรย์ 2 มิติ (ใช้เก็บรูปภาพ ได้)
อาร์เรย์ หลายมิติ (เช่น อาร์เรย์ 3 มิติ ใช้เก็บภาพวิดโี อ ได้)

รูปแบบการประกาศ อาร์เรย์ 1 มิติ
ชนิดข้อมูล ชื่อตัวแปร[ขนาดของอาร์เรย์]

ตัวอย่างการประกาศ
int num[10];
อาร์เรย์น้ ี ประกอบด้วยตัวแปรย่อยดังนี้ num[0], num[1],
num[2], …, num[9]
เมือ่ 0,1,2,…,9 คือ เลขดัชนี (index) ทีใ่ ช้ในการระบุตวั แปรในอาร์เรย์ เช่น
num[0] คือตัวแปรตัวแรกในอาร์เรย์ num
หมายเหตุ: index ตัวแรกของ อาร์เรย์เริม่ ต้นที่ 0 เสมอ ดังนี้ index ตัวสุดท้าย = ขนาดอาร์เรย์ - 1
char cc[100]; //คืออาร์เรย์ชนิดตัวอักษรมีตวั แปรในอาร์ เรย์ 100 ตัว
float bb[5]; //คืออาร์เรย์ชนิดเลขจานวนจริ งมีตวั แปรในอาร์ เรย์ 5 ตัว
char cc[100]; //คืออาร์เรย์ชนิดตัวอักษรมีตวั แปรในอาร์เรย์ 100 ตัว
float bb[5]; //คืออาร์เรย์ชนิดเลขจานวนจริงมีตวั แปรในอาร์เรย์ 5 ตัว

รูปแบบการประกาศ อาร์เรย์ 2 มิติ
ชนิดข้อมูล ชื่อตัวแปร[ขนาดของอาร์เรย์มติ ทิ ่ี 1 (row)] [ขนาดของอาร์เรย์มติ ทิ ่ี 2 (column)]

ตัวอย่างการประกาศ
int num2[2][3];
อาร์เรย์น้ ี ประกอบด้วยตัวแปรย่อย ซึง่ สามารถแสดงในรูปของตารางได้ ดังนี้
Column 0
Column 1
Column 2
ขนาดรวม = 2 x 3 = 6
Row 1
num2[1][0]
num2[1][1]
num2[1][2]
Row 0
num2[0][0]
num2[0][1]
num2[0][2]
เมือ่ 0,1,2 คือ เลขดัชนี (index) ทีใ่ ช้ในการระบุตวั แปรในอาร์เรย์ เช่น
num2[0][0] คือตัวแปรตัวแรกในอาร์เรย์ num2

รูปแบบการประกาศ อาร์เรย์ หลายมิติ
ชนิดข้อมูล ชื่อตัวแปร[ขนาดมิตทิ ่ี 1][ขนาดมิตทิ ่ี 2][ขนาดมิตทิ ่ี 3]…[ขนาดมิตทิ ่ี n]
เมือ่ n คือ มิตสิ ุดท้ายของอาร์เรย์
ตัวอย่างการประกาศอาร์เรย์ 3 มิติ
int num2[2][3][2]; //ขนาดของอาร์เรย์ = 2x3x2 = 12
อาร์เรย์น้ ี ประกอบด้วยตัวแปรย่อย ซึง่ สามารถแสดงในรูปของตารางได้ ดังนี้

มิตทิ ่ี 2,index = 0
มิตทิ ่ี 2,index = 1
มิตทิ ่ี 2,index = 2
มิตทิ ่ี 1,index = 1
num2[1][0][0]
num2[1][1][0]
num2[1][2][0]
มิตทิ ่ี 1,index = 0
num2[0][0][0]
num2[0][1][0]
num2[0][2][0]
มิตทิ ่ี 3, index = 0
มิตทิ ่ี 2,index = 0
มิตทิ ่ี 2,index = 1
มิตทิ ่ี 2,index = 2
มิตทิ ่ี 1,index = 1
num2[1][0][1]
num2[1][1][1]
num2[1][2][1]
มิตทิ ่ี 1,index = 0
num2[0][0][1]
num2[0][1][1]
num2[0][2][1]
มิตทิ ่ี 3, index = 1