344-201 Structure Programming ฟังก์ชันในภาษาซี 344-201 Structure Programming
PROGRAMMER DEFINED FUNCTION ฟังก์ชันในภาษาซี ฟังก์ชันในภาษาซี สามารถแบ่งตามแหล่งที่มาได้ 2 ประเภทคือ ฟังก์ชันมาตรฐานในภาษาซี (C Standard Function) ฟังก์ชันที่สร้างขึ้นใหม่โดยโปรแกรมเมอร์ (Programmer-Defined Function) FUNCTIONS IN C C STANDARD LIBRARY PROGRAMMER DEFINED FUNCTION
ฟังก์ชันมาตรฐานในภาษาซี เป็นฟังก์ชันที่มาพร้อมกับตัวแปลภาษาซี เป็นฟังก์ชั่นที่เน้นงานพื้นฐาน เช่น ฟังก์ชันคำนวณทางคณิตศาสตร์, ฟังก์ชันจัดการข้อความ, ฟังก์ชันจัดการเวลา การเรียกใช้งานต้องเขียนคำสั่ง #include <header file> ไว้ที่ส่วนหัวของโปรแกรม header file เป็นไฟล์นามสกุล .h เช่น stdio.h, math.h, string.h
ฟังก์ชันมาตรฐานในภาษาซี ตัวอย่างการเรียกใช้ ฟังก์ชันมาตรฐานในภาษาซี
ฟังก์ชันที่สร้างขึ้นใหม่โดยโปรแกรมเมอร์ การเขียนโปรโตไทป์ การเรียกใช้ฟังก์ชัน การนิยามฟังก์ชัน
ฟังก์ชันที่สร้างขึ้นใหม่โดยโปรแกรมเมอร์ การสร้างฟังก์ชันประกอบด้วย 3 ส่วนหลัก ได้แก่ การเขียนโปรโตไทป์สำหรับฟังก์ชัน การนิยามฟังก์ชัน การเรียกใช้ฟังก์ชัน
รูปแบบของฟังก์ชัน รูปแบบของการนิยามฟังก์ชัน เขียนได้ดังต่อไปนี้ ตัวอย่างการนิยามฟังก์ชัน return-value-type function-name([parameter-list]) { declarations; statements; [return ;] }
ฟังก์ชันที่สร้างขึ้นใหม่โดยโปรแกรมเมอร์ รูปแบบฟังก์ชันของภาษาซีมี 4 รูปแบบ ฟังก์ชันแบบไม่มีการส่งค่ากลับ และไม่มีพารามิเตอร์ ฟังก์ชันแบบไม่มีการส่งค่ากลับ และมีพารามิเตอร์ ฟังก์ชันแบบมีการส่งค่ากลับ และไม่มีพารามิเตอร์ ฟังก์ชันแบบมีการส่งค่ากลับ และมีพารามิเตอร์
ฟังก์ชันแบบไม่มีการส่งค่ากลับ และไม่มีพารามิเตอร์ ฟังก์ชันแบบไม่มีการส่งค่ากลับ และไม่มีพารามิเตอร์ รูปแบบของการนิยามฟังก์ชัน ตัวอย่าง void function-name () { declarations; statements; }
ฟังก์ชันแบบไม่มีการส่งค่ากลับ และไม่มีพารามิเตอร์ (ต่อ) ฟังก์ชันแบบไม่มีการส่งค่ากลับ และไม่มีพารามิเตอร์ (ต่อ) การเรียกใช้ฟังก์ชัน ตัวอย่าง function-name(); การเรียกใช้ฟังก์ชัน การนิยามฟังก์ชัน
ฟังก์ชันแบบไม่มีการส่งค่ากลับ และมีพารามิเตอร์ รูปแบบของการนิยามฟังก์ชัน ตัวอย่าง void function-name (parameter-list) { declarations; statements; }
ฟังก์ชันแบบไม่มีการส่งค่ากลับ และมีพารามิเตอร์ (ต่อ) การเรียกใช้ฟังก์ชัน ตัวอย่าง function_name(actual_arg_list) การเรียกใช้ฟังก์ชัน การนิยามฟังก์ชัน
ฟังก์ชันแบบมีการส่งค่ากลับ และไม่มีพารามิเตอร์ ฟังก์ชันแบบมีการส่งค่ากลับ และไม่มีพารามิเตอร์ รูปแบบของการนิยามฟังก์ชัน ตัวอย่าง return-value-type function-name() { declarations; statements; return return-value; }
ฟังก์ชันแบบมีการส่งค่ากลับ และไม่มีพารามิเตอร์ (ต่อ) ฟังก์ชันแบบมีการส่งค่ากลับ และไม่มีพารามิเตอร์ (ต่อ) การเรียกใช้ฟังก์ชัน ตัวอย่าง variable = function_name() การเรียกใช้ฟังก์ชัน การนิยามฟังก์ชัน
ฟังก์ชันแบบมีการส่งค่ากลับ และมีพารามิเตอร์ ฟังก์ชันแบบมีการส่งค่ากลับ และมีพารามิเตอร์ รูปแบบของการนิยามฟังก์ชัน ตัวอย่าง return-value-type function-name(parameter-list) { declarations; statements; return return-value; }
ฟังก์ชันแบบมีการส่งค่ากลับ และมีพารามิเตอร์ (ต่อ) ฟังก์ชันแบบมีการส่งค่ากลับ และมีพารามิเตอร์ (ต่อ) การเรียกใช้ฟังก์ชัน ตัวอย่าง variable = function_name(actual_arg_list) การเรียกใช้ฟังก์ชัน การนิยามฟังก์ชัน
ต้นแบบฟังก์ฟชัน ต้นแบบฟังก์ชัน หรือ โปรโตไทป์ของฟังก์ชัน เป็นการอธิบายรายละเอียดของฟังก์ชันให้ภาษาซีรู้จัก รูปแบบการเขียนโปรโตไทป์ จะเหมือนกับบรรทัดแรกของฟังก์ชัน ตัวอย่างการเขียนโปรโตไทป์ void my_print(); char my_print(); void my_print(char ch, int x); char my_print(int x); โดยจะเขียนไว้ก่อนฟังก์ชัน main() return-value-type function-name([parameter-list]);
แบบฝึกหัด 1 เขียนโปรแกรมด้านล่าง โดยมีการเรียกใช้ฟังก์ชัน main() { int a,b,sum; a=5; b=6; sum=a+b; printf(“%d+%d=%d”,a,b,sum); }
แบบฝึกหัด 2 เขียนฟังก์ชัน max() สำหรับหาค่า max และฟังก์ชัน min() สำหรับหาค่า min main() { int max_v, min_v; max_v = max(3,1,5,6); min_v = min(3,1,5,6); printf(“maximum is %d, minimum is %d”,max_v,min_v); }