ฟังก์ชันคือบล็อกที่มีอยู่ในตัวเองซึ่งทำหน้าที่เฉพาะเจาะจง
ข้อดีของฟังก์ชันในภาษาซีมีดังนี้ −
-
การนำกลับมาใช้ใหม่ได้
-
โปรแกรมความยาวลดลงได้
-
ง่ายต่อการค้นหาและแยกฟังก์ชันที่ไม่ถูกต้อง
-
อำนวยความสะดวกในการเขียนโปรแกรมโมดูลาร์จากบนลงล่าง
ตัวอย่าง
ต่อไปนี้เป็นโปรแกรม C สำหรับฟังก์ชัน -
#include<stdio.h> /*Function prototypes*/ myfunc(); main(){ myfunc(); } /*Function Defination*/ myfunc(){ printf("Hello \n"); }
ที่นี่
-
ในการคำนวณ โดยทั่วไปเราคาดว่าฟังก์ชันจะส่งคืนค่า แต่ก็อาจจะหรือไม่ยอมรับข้อโต้แย้ง
-
ค่าที่ส่งคืนนี้มีประเภท int, float, char หรืออย่างอื่น
-
ประเภทของฟังก์ชันเริ่มต้นคือจำนวนเต็ม
ตัวอย่าง
โปรแกรมอื่นสำหรับฟังก์ชันมีดังนี้ -
int total (){ int a,b,c; a=10; b=20; c=a+b; return c; //it returns the c value i.e. prints the result }
ผลลัพธ์
เมื่อโปรแกรมข้างต้นทำงาน มันจะให้ผลลัพธ์ดังต่อไปนี้ −
30
แทนที่จะเขียนสองขั้นตอน
c=a+b; return c;
เราสามารถแทนที่ด้วยขั้นตอนเดียวเช่น return a+b;
หากคุณลืมคืนค่าในฟังก์ชัน ฟังก์ชันจะส่งคืนข้อความเตือนในคอมไพเลอร์ C ส่วนใหญ่ ข้อความนี้เตือนว่าคุณต้องคืนค่า คำเตือนอาจไม่หยุดการทำงานของโปรแกรม แต่ข้อผิดพลาดหยุดได้
ตัวอย่างโปรแกรม
รับด้านล่างเป็นโปรแกรม C สำหรับฟังก์ชันส่งคืน -
int main(){ --- --- --- return 0; }
ค่าเริ่มต้นที่ส่งคืนสำหรับประเภทจำนวนเต็มคือ 0
ถ้าคุณไม่ใส่ return 0 หรือค่าอื่นใดในฟังก์ชัน main() a ของคุณ 0 จะถูกส่งกลับโดยอัตโนมัติ
หากคุณต้องการคืนค่า int ในฟังก์ชันของคุณ ขอแนะนำให้ระบุค่าที่ส่งคืนในส่วนหัวของฟังก์ชัน
การกลับจากฟังก์ชัน
ฟังก์ชันส่งคืนค่าเดียวโดยใช้คำสั่ง return
หากมีการเปลี่ยนแปลงภายในฟังก์ชันกับตัวแปร แสดงว่าการเปลี่ยนแปลงนั้นอยู่ในฟังก์ชันนั้น ตัวแปรของฟังก์ชันการเรียกไม่ได้รับผลกระทบจากการกระทำของฟังก์ชันที่เรียก
ฟังก์ชันการเรียกเลือกที่จะละเว้นค่าที่ส่งคืนโดยฟังก์ชันที่เรียก ตัวอย่างเช่น ค่าส่งคืนของ printf และ scanf มักจะถูกละเว้น
ค่าที่ส่งคืนโดยฟังก์ชันจะใช้ในนิพจน์ที่ซับซ้อนมากขึ้น หรืออาจกำหนดให้กับตัวแปรก็ได้