ฟังก์ชัน ง30212 การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์ ศูนย์คอมพิวเตอร์ โรงเรียนปลวกแดงพิทยาคม
ฟังก์ชัน (function) เป็นการนำกลุ่มของคำสั่งที่มีการใช้บ่อยนำมารวมกัน แต่ละฟังก์ชันจะทำหน้าที่อย่างใดอย่างหนึ่ง นอกจากฟังก์ชัน main() แล้ว ในภาษาซีสามารถมีฟังก์ชันอื่นๆอีกกี่ฟังก์ชันก็ได้ การเรียกใช้ฟังก์ชันจะเริ่มต้นที่ฟังก์ชัน main()
รูปแบบของฟังก์ชัน ชนิดข้อมูล ชื่อฟังก์ชัน (ค่าที่ส่งมา) { ชนิดข้อมูล ชื่อฟังก์ชัน (ค่าที่ส่งมา) { การประกาศตัวแปรภายใน คำสั่งต่างๆ [return] }
โดยที่ ชนิดข้อมูล คือชนิดของข้อมูลที่ฟังก์ชันนี้จะส่งกลับ ถ้าไม่มีการส่งกลับจะใช้คำว่า void ชื่อฟังก์ชัน คือชื่อของกลุ่มคำสั่งนั้นๆ จะต้องตั้งตามกฎการตั้งชื่อตัวแปร ค่าที่ส่งมา คือจุดที่ใช้ในการกำหนดค่าตัวแปรสำหรับรับค่าที่ส่งมา การประกาศตัวแปรภายใน คือ การประกาศตัวแปรที่ใช้เฉพาะภายในฟังก์ชันนั้นๆ คำสั่งต่างๆ คือ ชุดของคำสั่งที่อยู่ในฟังก์ชันนั้นๆ return ใช้ในการคืนค่าไปให้กับจุดที่เรียก
รูปแบบการเรียกใช้ฟังก์ชัน ชื่อฟังก์ชัน (a1,a2, … , an); โดยที่ ชื่อฟังก์ชัน คือ ชื่อฟังก์ชันที่ต้องการเรียกใช้ a1, a2, … , an คือ ข้อมูลที่ต้องส่งไป การใช้งานฟังก์ชันจะต้องประกาศฟังก์ชันและกำหนดคำสั่งไว้ก่อนจึงจะสามารถใช้งานได้ การกำหนดคำสั่งนั้นสามารถเขียนไว้ด้านบนหรือด้านล่างของฟังก์ชัน main() ได้ แต่จะต้องประกาศฟังก์ชันไว้ก่อนฟังก์ชัน main() เท่านั้น
ตัวอย่างที่ 13.1 การใช้ฟังก์ชันที่ไม่มีการส่งกลับ #include <stdio.h> // ประกาศฟังก์ชัน void underline() { printf(“________________”); } int main() printf(“Example of function \n”); underline(); getchar(); return 0;
ตัวอย่างที่ 13.2 การใช้ฟังก์ชันที่ส่งค่าไปแต่ไม่ส่งค่ากลับ #include <stdio.h> // ประกาศฟังก์ชัน void underline(int num) { int count; for (count=0;count<num;count++) printf(“________________\n”); } int main() printf(“Show 2 lines \n”); underline(2); printf(“Show 3 lines \n”); underline(3); getchar(); return 0;
ผลการทำงาน Show 2 lines ________________ Show 3 lines
ตัวอย่างที่ 13.3 การใช้ฟังก์ชันที่ส่งค่าไปและส่งค่ากลับ #include <stdio.h> // ประกาศฟังก์ชัน int square(int num) { return (num * num); } int main() int a=7; printf(“Square of %d is %d\n”,a,square(a)); getchar(); return 0;
ผลการทำงาน Square of 7 is 49