web analytics

C Programming : เขียนโปรแกรมภาษา C แบบพื้นฐาน ตอนที่ 3 – Array

cover

จากตอนที่ 2

C Programming : เขียนโปรแกรมภาษา C แบบพื้นฐาน ตอนที่ 2

 

บทความตอนที่ 2 เราได้เรียนรู้เรื่อง operator และ loop ไปแล้ว บทความนี้จะเป็นเรื่อง array

 

รู้จักกับ Array

ถ้าผมต้องการเก็บข้อมูลคะแนนนักเรียน 6 คน วิธีการแบบดิบๆ คือ ผมสามารถประกาศตัวแปร int score 1, score2 , .. ครบ 6 ตัว
ซึ่งมันก็ดูลำบาก มีหลายตัวแปร ตั้งหลายชื่อ
array คือ ตัวแปรชุด เอาไว้เก็บข้อมูลเป็นชุด โดยมีตัวแปรชื่อเดียว

สัญลักษณ์ คือ []
ประกาศตัวแปร int เป็นชุด พร้อมกำหนดค่า คะแนนนักเรียน

หรือทำเป็นตัวแปร char เก็บเกรดของวิชา

ดูดีขึ้นมาทันที

 

การเข้าถึงข้อมูลใน array จะใช้ตัวเลขลำดับ เรียกว่า index
วิธีการ คือ ชื่อตัวแปร ตามด้วย [] ข้างใน [] คือ เลข index โดยจะเริ่มตั้งแต่ 0 ถึง n-1
ถ้า มี 6 ค่า ก็จะ มี index 0 1 2… 5

เช่น ถ้าจะแสดงค่าคะแนนของนักเรียนคนที่ 1 ซึ่งก็จะมี index = 0

 

ถ้าจะเปลี่ยนค่า score[0] ก็ทำได้เหมือนตัวแปรทั่วไป

 

ลองปริ้นของทั้ง 6 คน ค่า index = 0 1 2 … 5

1

 

การใช้ Loop กับ array

พอเราเข้าใจ array รวมทั้งเรื่อง index แล้ว จะเห็นว่ามันมีลักษณะคล้ายๆกับ ปัญหาใน บทความที่ 2 คือ มันมี code ซ้ำๆกัน ดังนั้นเราจึงสามารถนำ loop มาใช้

index ที่เรียงค่า 0 1 2 3 … เราสามารถใช้ ตัวแปรวนลูปแทนได้

ลองปริ้นคะแนนของทั้ง 6 คน แบบใช้ for loop

2

 

จะเกิดอะไรขึ้น ถ้าปริ้นค่าที่ไม่มี index

ทั้งๆที่เราประกาศว่า score มี อยู่ 6 ค่า ซึ่งจะควรมี index 0 1 2 3 4 5
ถ้าเรา เข้าถึง index  8 9 10 ล่ะ จะเกิดอะไรขึ้น

คำตอบ คือ มันอาจเป็นค่าขยะ หรือก็คือ ค่าอะไรก็ไม่รู้ที่ค้างใน memory ดังนั้นควรใช้อย่างระมัดระวัง

3

 

การจองพื้นที่ array

เราสามารถนำ ตัวแปรมาประกาศขนาด array ได้ เช่น

 

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

a1

 

รู้จักกับ array of char

รายละเอียดของ array of char พิเศษกว่านิดหน่อย เพราะมัน มีลักษณะแบบ string
สามารถกำหนดค่า โดยใช้ ” (double-quote) แล้วตามด้วยข้อความได้เลย
เวลาปริ้นค่า ข้อความ ใช้ %s

7

 

การใช้ scanf รับค่า ข้อความ ก่อนอื่นเราต้องประกาศตัวแปร array char ก่อนพร้อมจองพื้นที่
ตอนใช้ scanf ก็ใช้ท่า %s ส่วนพารามิเตอร์ที่สอง คือ ตัวแปรที่ต้องการเก็บข้อความ

ที่สำคัญ ไม่ต้องมี & หน้าตัวแปร 

8

 

รู้จักกับ array 2 มิติ

ก่อนหน้านี้เราใช้ [] ก็คือ 1 มิติ จะเป็นเหมือน ข้อมูล 1 แถวเรียงกันไป ซึ่ง array สามารถมีได้หลายมิติ มารู้กับ array 2 มิติกัน

array 2 มิติ จะใช้ [][]

ประกาศตัวแปร array 2 มิติ และกำหนดค่าเริ่มต้น

 

ซึ่งจะเก็บข้อมูลคล้ายตาราง

4

การกำหนดค่า ก็ระบุ index เช่นเดิม

 

การใช้ Loop กับ array 2 มิติ

จากเดิมที่ array 1 มิติเราใช้ loop 1 ชั้น พอมาเป็น 2 มิติ เราต้องใช้ loop 2 ชั้น ในการปริ้นข้อมูล

5

 

Array N มิติ

พอเราเข้าใจ array 1 มิติ และ 2 มิติ เราก็สามารถเพิ่มมิติเข้าไปได้ เช่น 3 มิติ  4 มิติ ซึ่งโดยปกติแล้ว มากกว่า 2 มิติ ไม่ค่อยได้ใช้

array 3 มิติ ก็ต้องใช้ loop วน 3 ชั้น

6

 

จบแล้วสำหรับเรื่อง array

มาต่อกันในบทความตอนที่ 4 ครับ

(:

 

C Programming : เขียนโปรแกรมภาษา C แบบพื้นฐาน ตอนที่ 4