| การสร้างฟังก์ชันเพิ่มขึ้นมาใช้งานนอกเหนือจากฟังก์ชัน main() ทำให้ในแต่ละฟังก์ชันก็ยังสามารถสร้างตัวแปรขึ้นมาเพื่อใช้งาน การประกาศตัวแปรในภาษาซี สิ่งสำคัญที่ต้องคำนึงมี 2 อย่าง คือ ชนิดของข้อมูล (data type) และประเภทการจัดเก็บข้อมูล (storage class) เพื่อคอมไพล์จะได้ทราบว่าจะเก็บข้อมูลแบบใด มีช่วงการทำงานแบบใดและมีขอบเขตในการทำงานแบบใด สามารถแบ่งตามขอบเขตการใช้งานได้ดังนี้ | |
1. ตัวแปรส่วนกลาง (Global Variables) | |
| ตัวแปรส่วนกลาง ( Global Variables ) หรือเรียกว่าตัวแปรภายนอก ( External Variables ) เป็นตัวแปรที่สามารถเรียกใช้งานได้ทุกฟังก์ชัน หรือตลอดทั้งโปรแกรม โดยการสร้างตัวแปร ( Global Variables ) จะต้องเขียนคำสั่งไว้ส่วนที่ประกาศค่าเริ่มต้นของโปรแกรมต่อจากส่วนของพรีโปรเซสเซอร์ไดเร็คทีฟ ไม่ได้สร้างไว้เฉพาะฟังก์ชันใดฟังก์ชันหนึ่ง เท่านั้น 2 .ตัวแปรท้องถิ่น (local Variables) ตัวแปรท้องถิ่น ( Local Variables ) หรือเรียกว่าตัวแปรอัตโนมัติ ( Automatic Variables ) เป็นตัวแปรที่สร้างขึ้นใช้ภายในฟังก์ชัน ขอบเขตการใช้งานจะอยู่ในฟังก์ชันนั้น ๆ เท่านั้น เราไม่สามารถเรียกใช้งานหรือเปลี่ยนแปลงค่าจากฟังก์ชันอื่นได้ และถ้ามีการตั้งชื่อตัวแปรท้องถิ่นซ้ำกันก็จะถือว่าเป็นคนละตัวแปรกัน 3 .ตัวแปรสถิตย์ (Static Variables) ตัวแปรสถิตย์ ( Static Variables ) จะมีค่าอยู่ในช่วงกลางตลอดการทำงานของโปรแกรม หรือเป็นตัวแปรที่มีค่าคงที่ ในขณะที่ตัวแปรสถิตย์จะมีค่าอยู่ในช่วงของฟังก์ชันนั้นๆ ตัวแปรสถิตย์จะเก็บค่าล่าสุดที่กำหนดให้โดยที่ไม่ต้องเก็บค่าที่ตั้งต้นใหม่ทุกครั้ง และตัวแปรสถิตย์สามารถประกาศค่าเป็นตัวแปรกลาง ( Global Variables ) หรือตัวแปรท้องถิ่น ( Local Variables ) ก็ได้ 4. ตัวแปรรีจิสเตอร์ (Register Variables) ตัวแปรรีจิสเตอร์ ( Register Variables ) จะจัดเก็บข้อมูลในรีจิสเตอร์ ซึ่งเป็นหน่วยความจำชั่วคราวขนาดเล็กใน CPU การเก็บข้อมูลในนี้จะทำให้เรียกใช้งานข้อมูลได้รวดเร็ว แต่สามารถเก็บข้อมูลได้น้อย ส่วนใหญ่ใช้เก็บข้อมูลที่มีขนาดเล็กและถูกเรียกใช้งานบ่อย อย่างเช่น ข้อมูลตัวนับการวนรอบในการทำงานวนซ้ำ ตัวแปรที่ใช้สำหรับนับรอบการวนซ้ำ | |
วันจันทร์ที่ 13 กุมภาพันธ์ พ.ศ. 2555
ตัวแปรและขอบเขตการทำงานของฟังก์ชัน
สมัครสมาชิก:
ส่งความคิดเห็น (Atom)
ไม่มีความคิดเห็น:
แสดงความคิดเห็น