วันศุกร์ที่ 10 กุมภาพันธ์ พ.ศ. 2560

บทที่ 8 การสร้างฟังก์ชันและตัวแปรชนิดพอยน์เตอร์

บทที่ 8
การสร้างฟังก์ชันและตตัวแปรชนิดพอยน์เตอร์
จากความรู้หลักการเขียนโปรแกรมในบทที 1 ที่มีการกล่าวว่าควรออกแบบโปรแกรมเป็นส่วนๆหรือที่เรียกว่า โมดูล เพื่อให้แต่ละโมดูลทำงานเฉพาะส่วนนั้นๆ ซึ่งสิ่งเหล่านี้จะช่วยลดความซับซ้อนของโปรแกรมลงได้ อีกทั้งยังช่วยให้การตรวจสอบ และการแก้ไขทำงานได้ง่ายขึ้น


ความหมายของฟังก์ชัน
จากที่เกริ่นมาข้างต้น คงพอให้มองเห็นภาพการทำงานของฟังก์ชันมาบ้างแล้ว ดังนั้นฟังก์ชันจึงหมายถึงชุดคำสั่งที่สั่งให้คอมพิวเตอร์ทำงาน โดยจะทำงานหนึ่งๆ ให้สำเร็จภายในตัวมันเอง ไม่ว่าจะเป็นการรับข้อมูล การประมวลผล รวมถึงการแสดงผลข้อมูล และที่สำคัญเราสามารถเรียกใช้งานฟังก์ชันได้บ่อยตามที่ต้องการ ดังนั้น ชุดคำสั่งใดๆ ที่มักเรียกใช้งานซ้ำๆ เมื่อนำมาเขียนเป็นฟังก์ชัน ย่อมช่วยลดเวลาในการเขียนโปรแกรมลงได้
ดังนั้น ในการเขียนโปรแกรมภาษาซีที่ดี จึงจำเป็นต้องออกแบบโปรแกรมให้เป็นโมดูลหรือที่เรียกว่าฟังก์ชันย่อยๆ
1. เพื่อเป็นไปตามหลักการของการเขียนโปรแกรม

2. เพื่อง่ายต่อการตรวจสอบ และการบำรุงรักษา

3.เพื่อหลีกเลี่ยงการเขียนชุดคำสั่งเดิม

4.เพื่อสร้างกลุ่มคำสั่งประมวลผลเฉพาะงาน




รูปแบบการเข้าถึงฟังก์ชัน
เมื่อได้เข้าใจถึงการระบุชนิดข้อมูลเพื่อคืนค่ากลับไปยังฟังก์ชันแล้ว ยังไม่เพียงพอ เพราะฟังก์ชันนอกจากคืนค่าแล้ว ยังสามารถส่งผ่านข้อมูลได้อีก หรือที่เรียกว่าการส่งผ่านอาร์กิวเมนต์ (พารามิเตอร์) โดยภาษาซีได้กำหนดรูปแบบการเข้าถึงอยู่ 3 รูปแบบด้วยกันคือ

1.1 ฟังก์ชันที่ไม่มีการส่งผ่านใดๆ
จัดเป็นฟังก์ชันที่มุ่งเน้นให้ทำงานใดๆ จนสำเร็จเท่านั้น โดยมิได้มีการส่งผ่านค่าใดๆลงไป และไม่มีการคืนค่าใดๆ กลับไปยังฟังก์ชัน ทั้งนี้ภาษาซีจะใช้คำว่า void

1.2 ฟังก์ชันที่มีการส่งผ่านค่าทางเดียว
เป็นฟังก์ชันที่มีการส่งผ่านค่าผ่านอาร์กิวเมนต์ภายในวงเว็บ จึงต้องระบุชนิดข้อมูลลงไป ซึ่งจะมีกี่ตัวก็ได้

1.3ฟังก์ชันที่ส่งผ่านค่าและคืนค่ากลับ
เป็นรูปแบบฟังก์ชันที่นอกจากจะมีการส่งผ่านค่าแล้ว ยังมีการคืนค่ากลับไปด้วย






ฟังก์ชันต้นแบบ (Prototype)
จากโปรแกรมการสร้างฟังก์ชันใช้งานเอง จะพบว่า ได้มีการวางตำแหน่งฟังก์ชันที่สร้างขึ้นไว้ก่อนฟังก์ชัน main () ทั้งนี้ก็เพื่อให้คอมไพเลอร์ได้แปลชุดคำสั่งของฟังก์ชันที่สร้างขึ้นเองก่อน








พอยเตอร์ (Pointers)
ถ้าว่ากันแล้ว อีกคุณสมบัติหนึ่งของภาษาซี ที่มีความโดดเด่นกว่าภาษาระดับสูงอื่นๆก็คือ ภาษาซีมีพอยน์เตอร์ หรือตัวชี้ ซึ่งจัดเป็นตัวแปรประเภทหนึ่ง แต่เป็นตัวแปรที่แตกต่างจากตัวแปรเก็บข้อมูลทั่วไป





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

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