More Related Content
Similar to งานทำ Blog บทที่ 8 (20)
More from รัสนา สิงหปรีชา (20)
งานทำ Blog บทที่ 8
- 2. ตัวแปรอาร์เรย์ (Array Variable)
ตัวแปรอาร์เรย์ (Array Variable) เปรียบเสมือนการนาตัวแปร
มาเรียงต่อกันหลาย ๆ ตัว โดยที่ทุกตัวมีชนิดข้อมูลเดียวกัน มีชื่อตัว
แปรเดียวกัน แต่สามารถอ้างถึงตาแหน่งข้อมูลแต่ละตัวที่เรียงต่อกัน
ด้วยลาดับการจัดเรียง ซึ่งเรียกตาแหน่งข้อมูลแต่ละตัวว่า อินเด็กซ์
(Index)
ตัวแปรอาร์เรย์ในภาษา C นั้น สามารถแยกได้ 2 แบบคือ
1 ตัวแปรอาร์เรย์ 1 มิติ
2 ตัวแปรอาร์เรย์หลายมิติ
- 3. ตัวแปรอาร์เรย์ 1 มิติ (One Dimension Array)
ตัวแปรอาร์เรย์ 1 มิติ (One Dimension Array) เปรียบได้
กับการนาตัวแปรมาเรียงต่อกันหลาย ๆ ตัว ในลักษณะของแถว
ข้อมูล ซึ่งเราจะจาลองตัวอย่างตัวแปรอาร์เรย์ 1 มิติ ชื่อตัวแปร
intEx1 เป็นตัวแปรชนิดจานวนเต็มที่สามารถเก็บข้อมูลจานวน
เต็มได้ 6 ตัว เช่น
[0] [1] [2] [3] [4] [5]
7
1 5
2 0 0
- 4. จากตัวอย่างจะเห็นว่า ตัวแปรอาร์เรย์สามารถเก็บข้อมูลได้ 6 ตัว โดยที่
ตัวแปรตัวแรก คือ ตาแหน่งอินเด็กซ์ที่ 0 มีค่าเท่ากับ 7 ซึ่งสามารถ
เขียนได้เป็น intEx1[0] = 7
ตัวแปรตัวที่ 2 คือ ตาแหน่งอินเด็กซ์ที่ 1 มีค่าเท่ากับ 1 ซึ่งสามารถ
เขียนได้เป็น intEx1[1] = 1
ตัวแปรตัวที่ 3 คือ ตาแหน่งอินเด็กซ์ที่ 2 มีค่าเท่ากับ 5 ซึ่งสามารถ
เขียนได้เป็น intEx1[2] = 5
ตัวแปรตัวที่ 4 คือ ตาแหน่งอินเด็กซ์ที่ 3 มีค่าเท่ากับ 2 ซึ่งสามารถ
เขียนได้เป็น intEx1[3] = 2
ตัวแปรตัวที่ 5 คือ ตาแหน่งอินเด็กซ์ที่ 4 มีค่าเท่ากับ 0 ซึ่งสามารถ
เขียนได้เป็น intEx1[4] = 0
ตัวแปรตัวสุดท้าย คือ ตาแหน่งอินเด็กซ์ที่ 5 มีค่าเท่ากับ 0 ซึ่ง
สามารถเขียนได้เป็น intEx1[5] = 0
- 5. ตัวแปรอาร์เรย์หลายมิติ (multi – Dimension Array)
ตัว แปรอาร์เรย์หลายมิติ คือ ตัวแปรที่มีมุม มองการ
เข้าถึงข้อมูลของตัวแปรได้มากกว่า 1 ด้าน เช่น
• ตัวแปรอาร์เรย์ 2 มิติ (2 – Dimension Array)
• ตัวแปรอาร์เรย์ 3 มิติ (3 – Dimension Array)
- 6. ตัวแปรอาร์เรย์ 2 มิติ (2 – Dimension Array)
ตัวแปรอาร์เรย์ 2 มิติ เปรียบได้กับการนาตัวแปรมาเรียงต่อกัน
หลาย ๆ ตัวในลักษณะของตารางข้อมูล จะเป็นการเก็บข้อมูลในแนว
แถวและหลัก การอ้างถึงเซลล์ในอาร์เรย์จะต้องใช้อินเด็กซ์ที่อ้างไปยัง
แถวและหลัก การเก็บข้อมูลบางประเภทนั้นตัวแปรอาร์เรย์แบบมิติ
เดียวจะทางานไม่สะดวก ซึ่งอาจต้องใช้ตัวแปรอาร์เรย์แบบ 2 มิติ
[0][0] [0][1] [0][2] [0][3] [0][4]
2
0
0
9
1
[1][0] [1][1] [1][2] [1][3] [1][4]
9
8
6
3
2
[2][0] [2][1] [2][2] [2][3] [2][4]
5
7
7
1
5
- 7. จะเห็นว่า ตัวแปรอาร์เรย์ที่มีขนาด 3 แถว 5 คอลัมน์ สามารถเก็บ
ข้อมูลได้ 15 ตัว โดยที่
•
•
•
•
•
•
ตัวแปรแถวที่ 1 คอลัมน์ที่ 1 มีค่าเท่ากับ 2 ซึ่งสามารถเขียนได้เป็น intEx2[0][0] = 2
ตัวแปรแถวที่ 1 คอลัมน์ที่ 2 มีค่าเท่ากับ 0 ซึ่งสามารถเขียนได้เป็น intEx2[0][0] = 0
ตัวแปรแถวที่ 1 คอลัมน์ที่ 5 มีค่าเท่ากับ 1 ซึ่งสามารถเขียนได้เป็น intEx2[0][0] = 1
ตัวแปรแถวที่ 3 คอลัมน์ที่ 1 มีค่าเท่ากับ 5 ซึ่งสามารถเขียนได้เป็น intEx2[0][0] = 5
ตัวแปรแถวที่ 3 คอลัมน์ที่ 2 มีค่าเท่ากับ 7 ซึ่งสามารถเขียนได้เป็น intEx2[0][0] = 7
ตัวแปรแถวที่ 3 คอลัมน์ที่ 5 มีค่าเท่ากับ 5 ซึ่งสามารถเขียนได้เป็น intEx2[0][0] = 5
- 8. ตัวแปรอาร์เรย์ 3 มิติ (3 – Dimension Array)
ตัวแปรอาร์เรย์ 3 มิติ เปรียบได้กับการนาตัวแปรมาเรียงต่อกัน
หลาย ๆ ตั ว ในลั ก ษณะของกล่ อ งข้ อ มู ล หรื อ เรี ย กอี ก อย่ า งว่ า
อาร์เรย์ของอาร์เรย์ 2 มิติ
[0][0][0] [0][0][1] [0][0][2] [0][0][3]
[0][1][0] [0][1][1] [0][1][2] [0][1][3]
9 2
8 5
4 6
1
9
3
7
8
7
[0][2][0] [0][2][1] [0][2][2] [0][2][3]
[1][0][0] [1][0][1] [1][0][2] [1][0][3]
[1][1][0] [1][1][1] [1][1][2] [1][1][3]
[1][2][0] [1][2][1] [1][2][2] [1][2][3]
9 2
8 5
4 6
7
3
2
1
9
3
7
8
7
1 4
7 1
8 9
5
6
2
- 9. จะเห็นว่า ตัวแปรอาร์เรย์ที่มีขนาด 2 บล็อก 3 แถว 4 คอลัมน์ สามารถ
เก็บข้อมูลได้ 24 ตัว
•
•
•
•
•
•
•
•
•
•
•
•
ตัวแปรบล็อกที่ 1 แถวที่ 1 คอลัมน์ที่ 1 มีค่าเท่ากับ 9 เขียนได้เป็น intEx3[0][0][0] = 9
ตัวแปรบล็อกที่ 1 แถวที่ 1 คอลัมน์ที่ 2 มีค่าเท่ากับ 2 เขียนได้เป็น intEx3[0][0][1] = 2
ตัวแปรบล็อกที่ 1 แถวที่ 1 คอลัมน์ที่ 3 มีค่าเท่ากับ 1 เขียนได้เป็น intEx3[0][0][2] = 1
ตัวแปรบล็อกที่ 1 แถวที่ 2 คอลัมน์ที่ 1 มีค่าเท่ากับ 8 เขียนได้เป็น intEx3[0][1][0] = 8
ตัวแปรบล็อกที่ 1 แถวที่ 2 คอลัมน์ที่ 2 มีค่าเท่ากับ 5 เขียนได้เป็น intEx3[0][1][1] = 5
ตัวแปรบล็อกที่ 1 แถวที่ 3 คอลัมน์ที่ 4 มีค่าเท่ากับ 7 เขียนได้เป็น intEx3[0][2][3] = 7
ตัวแปรบล็อกที่ 2 แถวที่ 1 คอลัมน์ที่ 1 มีค่าเท่ากับ 7 เขียนได้เป็น intEx3[1][0][0] = 7
ตัวแปรบล็อกที่ 2 แถวที่ 1 คอลัมน์ที่ 2 มีค่าเท่ากับ 1 เขียนได้เป็น intEx3[1][0][1] = 1
ตัวแปรบล็อกที่ 2 แถวที่ 1 คอลัมน์ที่ 3 มีค่าเท่ากับ 4 เขียนได้เป็น intEx3[1][0][2] = 4
ตัวแปรบล็อกที่ 2 แถวที่ 2 คอลัมน์ที่ 1 มีค่าเท่ากับ 3 เขียนได้เป็น intEx3[1][1][0] = 3
ตัวแปรบล็อกที่ 2 แถวที่ 2 คอลัมน์ที่ 2 มีค่าเท่ากับ 7 เขียนได้เป็น intEx3[1][1][1] = 7
ตัวแปรบล็อกที่ 2 แถวที่ 3 คอลัมน์ที่ 4 มีค่าเท่ากับ 2 เขียนได้เป็น intEx3[1][2][3] = 2
- 13. การอ้างถึงข้อมูลในตัวแปรอาร์เรย์
วิ ธี ก ารอ่ า นข้ อ มู ล จากตั ว แปรโดยการระบุ ต าแหน่ ง ข้ อ มู ล ที่
ต้องการลงไป หรือที่เรียกกันว่า อินเด็กซ์ (Index) ซึ่งมีตัวอย่าง
การใช้งานดังนี้
Ans = intScore[2] * 3;
fsum = fPrice[3][2] + fPrice[3][2];
intNum = intNume[1] + intNum[2];
เหนื่อย
ก็
นัก
พักก่อน
- 15. ที่มา : คู่มืออบรมครูวิทยาศาสตร์ คณิตศาสตร์ คอมพิวเตอร์ โลก ดาราศาสตร์ และอวกาศ ระดับมัธยมศึกษาตอนปลาย
หนังสือเรียนรายวิชาเพิ่มเติม การเขียนโปรแกรมเบื้องต้นด้วยภาษา C บริษทซัคเซสมีเดีย
คู่มือเรียนเขียนโปรแกรมภาษา สานักพิมพ์ IDC PREMIER