. . . . . . . .การเขียนโปรแกรม ถ้าเป็นโปรแกรมใหญ่ๆ เราก็ต้องมีการแบ่งการทำงานออกเป็นส่วนๆ เพื่อลดความซับซ้อน และเพื่อความสะดวก ในการแก้ไขโปรแกรม ยกตัวอย่าง |
// MAIN.CPP #include <stdio.h> #include <conio.h> void function1( ) //<---- function1 ชนิด void ไม่ต้อง return ค่ากลับ { //<----- เริ่มต้นขอบเขตการทำงานของ function1
} //<--- สิ้นสุดขอบเขตการทำงานของ function1 int function2( ) //<---- function1 ชนิด int ต้อง return ค่ากลับ { //<----- เริ่มต้นขอบเขตการทำงานของ function2
} //<--- สิ้นสุดขอบเขตการทำงานของ function2 int main( ) { //<----- เริ่มต้นขอบเขตการทำงานของ main
} //<--- สิ้นสุดขอบเขตการทำงานของ main |
Sawasdee Print form function1 Print form function2 |
. . . . . . . จากตัวอย่าง การเขียนก็จะเห็นว่ามี 3 function ด้วยกันคือ function1, function2 และ mainมาดูการทำงานกัน function main จะพิมพ์ข้อความ Sawasdee ออกมาก่อน จากนั้นจะไปเรียกการทำงานของ function1 ให้พิมพ์ข้อความ print from function1 และก็ไปเรียก function2 ให้พิมพ์ข้อความ printf from function2 จบการทำงาน ไม่เข้าใจกลับไปดูได้ ง่ายๆ function เขียนยังงัย ตัวอย่างต่อไปเป็นการเพิ่มตัวแปรเข้าไป ให้สังเกตให้ดีดี นะครับ |
// MAIN.CPP #include <stdio.h> #include <conio.h> void function1( ) //<---- function1 ชนิด void ไม่ต้อง return ค่ากลับ { //<----- เริ่มต้นขอบเขตการทำงานของ function1
} //<--- สิ้นสุดขอบเขตการทำงานของ function1 int function2( ) //<---- function1 ชนิด int ต้อง return ค่ากลับ { //<----- เริ่มต้นขอบเขตการทำงานของ function2
} //<--- สิ้นสุดขอบเขตการทำงานของ function2 int main( ) { //<----- เริ่มต้นขอบเขตการทำงานของ main
} //<--- สิ้นสุดขอบเขตการทำงานของ main |
Sawasdee Value in i = 10 Value in i = 20 |
. . . . . . . .สังเกตุให้ดีี ตัวแปร i ที่อยู่ใน function1 และ function2 ชื่อตัวแปรเหมือนกันแต่ขอบเขตการใช้งาน อยู่คนที่ขอบเขต เพราะฉนั้น สิ่งที่อยู่ในขอบเขตของ function1 ก็ไม่เกี่ยวกับ function2 และสิ่งที่อยู่ใน function2 ก็ไม่เกี่ยวกับ function1 ไม่เข้าใจ กลับไปดูใหม่ได้นะครับ พูดถึงขอบเขตแล้ว ตัวแปรที่อยู่ในเครื่องหมายปีกกา เราเรียกว่า ตัวแปร Local คือตัวแปรที่มีขอบเขตการทำงานเฉพาะในปีกกาเปิด และสิ้นสุดที่ปีกกาปิดเท่านั้น มาดูตัวอย่างต่อนี้ |
// MAIN.CPP #include <stdio.h> #include <conio.h> void function1( ) //<---- function1 ชนิด void ไม่ต้อง return ค่ากลับ { //<----- เริ่มต้นขอบเขตการทำงานของ function1
} //<--- สิ้นสุดขอบเขตการทำงานของ function1 int main( ) {
} |
Sawasdee Value in i = 10 Value in k = 20 Value in i = 10 |
. . . . . . . .จากตัวอย่าง ตัวแปร i และ ตัวแปร k จะมีขอบเขตการทำงานเฉพาะภายในปีกกาเท่านั้น และการใช้ตัวแปรก็จำกัดเฉพาะเขตของมัน ในขอบเขตของตัวแปร k เราสามารถใช้ตัวแปร i ได้ เพราะยังไม่สิ้นสุดขอบเขตการทำงาน แต่เราไม่สามารถใช้ตัวแปร k ถ้าสิ้นสุดขอบเขตการทำงานของตัวแปร k และ ตัวแปรทั้งหมดนี้ก็ยังคงเป็นตัวแปร local อยู่ไม่ต้องสงสัย แต่เป็นตัวแปร local ในขอบเขตปีกกาเท่านั้น มาดูตัวอย่างต่อไป |
// MAIN.CPP #include <stdio.h> #include <conio.h> int gvalue = 100; //<------- ตัวแปร Global void function1( ) {
} int main( ) {
} |
Sawasdee Value in i = 10 Value in k = 20 Value in i = 10 Value in gvalue = 100 Value in gvalue = 100 Value in gvalue = 100 |
. . . . . . . .จะเห็นว่ามีการกำหนดตัวแปรข้างนอกเครื่องหมายปีกกา นั่นคือ ตัวแปร Global ชื่อ gvalue เป็นตัวแปนที่สามารถใช้ได้ทั่วไปภายใน แฟ้มนี้ ดูจากการใช้งาน เราสามารถพิมพ์ค่าที่อยู่ในตัวแปร gvalue ออกมาได้ทุกส่วนของโปรแกรม นั่นเป็นคุณสมบัติขิงตัวแปร Global ก็ตัวแปรที่สามารถเรียกใช้งานได้ทั่วไปนะเอง ศึกษาดูนะครับว่า ตัวแปร local และ global คืออะไร |
void function1( ) //<---- function1 ชนิด void
ไม่ต้อง return ค่ากลับ int function2( ) //<---- function1 ชนิด int ต้อง return ค่ากลับ int i = 10; //<------ ตัวแปร local int k = 20; //<----- ตัวแปร local ภายในขอบเขตการทำงานซ้อนนี้เท่านั้น int gvalue = 100; //<------- ตัวแปร Global |
. . . . . . . .วันนี้ก็ได้เรื่องการสร้าง function ตัวแปร local และ global การผ่านค่าตัวแปรไปยัง function และการรับค่าจาก function กัน ติดตามๆ ง่ายๆ ฮ่า ฮ่า ฮ่า เรียนเร็ว จบเร็ว ทำเกมเร็วขึ้น ว้าว !! |