Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

ฟังก์ชันในภาษา C


ฟังก์ชันคือกลุ่มคำสั่งที่ทำงานร่วมกันเพื่อทำหน้าที่หนึ่ง ทุกโปรแกรม C มีฟังก์ชันอย่างน้อยหนึ่งคือ main() และโปรแกรมง่ายๆ สามารถกำหนดฟังก์ชันเพิ่มเติมได้

คุณสามารถแบ่งโค้ดเป็นฟังก์ชันแยกกันได้ การแบ่งขึ้นอยู่กับคุณ แต่วิธีที่สมเหตุสมผลคือแต่ละฟังก์ชันทำหน้าที่เฉพาะเจาะจง

Function declaration บอก compiler เกี่ยวกับชื่อ ฟังก์ชัน return type และ parameters Function definition ให้ body จริงของฟังก์ชัน

C standard library มี built-in functions มากมาย เช่น strcat() ต่อสตริง memcpy() คัดลอกหน่วยความจำ และอื่นๆ

ฟังก์ชันอาจเรียกว่า method, sub-routine, procedure ฯลฯ

การกำหนดฟังก์ชัน

รูปแบบทั่วไปของ function definition ใน C:

return_type function_name( parameter list ) {    body of the function }

Function definition ประกอบด้วย function header และ function body ส่วนประกอบ:

  • Return Type — ชนิดข้อมูลของค่าที่คืน ใช้ void หากไม่คืนค่า

  • Function Name — ชื่อจริงของฟังก์ชัน ชื่อและ parameter list รวมเป็น function signature

  • Parameters — placeholder เมื่อเรียกฟังก์ชันจะส่งค่าเข้าไป เรียกว่า actual parameter หรือ argument parameter list อ้างถึง type, order, จำนวน parameters parameters เป็น optional

  • Function Body — ชุดคำสั่งกำหนดว่าฟังก์ชันทำอะไร

ตัวอย่างโค้ด

/* function returning the max between two numbers */ int max(int num1, int num2) {    /* local variable declaration */    int result;    if (num1 > num2)       result = num1;    else       result = num2;    return result; }

Function Declaration

Function declaration บอก compiler ชื่อฟังก์ชันและวิธีเรียก body สามารถกำหนดแยกได้

return_type function_name( parameter list );

สำหรับ max() ข้างต้น declaration คือ:

int max(int num1, int num2);

ชื่อพารามิเตอร์ไม่สำคัญใน declaration ต้องแค่ type ดังนี้จึงถูกต้อง:

int max(int, int);

Function Calling

เมื่อสร้างฟังก์ชัน ให้ definition ของสิ่งที่ฟังก์ชันต้องทำ เพื่อใช้ ต้อง call ฟังก์ชันนั้น

เมื่อโปรแกรมเรียกฟังก์ชัน control จะถูกส่งไปที่ฟังก์ชันที่ถูกเรียก ฟังก์ชันทำงานและเมื่อถึง return statement หรือปิด brace จะส่ง control กลับ main program

การเรียกฟังก์ชัน: ส่งพารามิเตอร์ที่ต้องการพร้อมชื่อฟังก์ชัน หากคืนค่า สามารถเก็บค่าที่คืนมาได้

ตัวอย่างโค้ด

#include <stdio.h> /* function declaration */ int max(int num1, int num2); int main () {    /* local variable definition */    int a = 100;    int b = 200;    int ret;    /* calling a function to get max value */    ret = max(a, b);    printf( "Max value is : %d\n", ret );    return 0; } /* function returning the max between two numbers */ int max(int num1, int num2) {    /* local variable declaration */    int result;    if (num1 > num2)       result = num1;    else       result = num2;    return result; }

ผลลัพธ์

Max value is : 200