Computer >> Máy Tính >  >> Lập trình >> lập trình C

Các hàm trong lập trình C

Hàm là một nhóm các câu lệnh cùng thực hiện một tác vụ. Mỗi chương trình C đều có ít nhất một hàm, đó là main () và tất cả các chương trình tầm thường nhất có thể xác định các chức năng bổ sung.

Bạn có thể chia mã của mình thành các chức năng riêng biệt. Cách bạn phân chia mã của mình giữa các chức năng khác nhau là tùy thuộc vào bạn, nhưng về mặt logic thì việc phân chia là sao cho mỗi chức năng thực hiện một nhiệm vụ cụ thể.

Một khai báo hàm cho trình biên dịch biết về tên, kiểu trả về và các tham số của hàm. Một định nghĩa hàm cung cấp phần thân thực của hàm.

Thư viện chuẩn C cung cấp nhiều hàm tích hợp sẵn mà chương trình của bạn có thể gọi. Ví dụ: strcat () để nối hai chuỗi, memcpy () để sao chép một vị trí bộ nhớ sang một vị trí khác và nhiều chức năng khác.

Một chức năng cũng có thể được gọi là một phương thức hoặc một quy trình con hoặc một thủ tục, v.v.

Xác định chức năng

Dạng tổng quát của định nghĩa hàm trong ngôn ngữ lập trình C như sau -

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

Định nghĩa hàm trong lập trình C bao gồm tiêu đề hàm và thân hàm. Đây là tất cả các phần của một hàm -

  • Loại trả lại - Một hàm có thể trả về một giá trị. Kiểu_trả_lại là kiểu dữ liệu của giá trị mà hàm trả về. Một số hàm thực hiện các hoạt động mong muốn mà không trả về giá trị. Trong trường hợp này, return_type là từ khóa void.

  • Tên hàm - Đây là tên thực của hàm. Tên hàm và danh sách tham số cùng nhau tạo thành chữ ký hàm.

  • Thông số - Một tham số giống như một trình giữ chỗ. Khi một hàm được gọi, bạn truyền một giá trị cho tham số. Giá trị này được gọi là tham số hoặc đối số thực tế. Danh sách tham số đề cập đến kiểu, thứ tự và số lượng các tham số của một hàm. Các thông số là tùy chọn; nghĩa là, một hàm có thể không chứa tham số.

  • Nội dung chức năng - Phần thân hàm chứa một tập hợp các câu lệnh xác định chức năng thực hiện.

Mã mẫu

Hàm
/* 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;
}

Khai báo hàm

Một khai báo hàm cho trình biên dịch biết về tên hàm và cách gọi hàm. Phần thân thực của hàm có thể được xác định riêng biệt.

Một khai báo hàm có các phần sau -

return_type function_name( parameter list );

Đối với hàm max () đã định nghĩa ở trên, khai báo hàm như sau -

int max(int num1, int num2);

Tên tham số không quan trọng trong khai báo hàm, chỉ cần loại của chúng là bắt buộc, do đó, phần sau cũng là một khai báo hợp lệ -

int max(int, int);

Gọi hàm

Trong khi tạo một hàm C, bạn đưa ra định nghĩa về những gì hàm phải làm. Để sử dụng một hàm, bạn sẽ phải gọi hàm đó để thực hiện tác vụ đã xác định.

Khi một chương trình gọi một chức năng, điều khiển chương trình được chuyển đến chức năng được gọi. Một hàm được gọi thực hiện một tác vụ đã xác định và khi câu lệnh trả về của nó được thực thi hoặc khi đạt đến dấu ngoặc nhọn kết thúc hàm, nó sẽ trả lại điều khiển chương trình trở lại chương trình chính.

Để gọi một hàm, bạn chỉ cần chuyển các tham số bắt buộc cùng với tên hàm và nếu hàm trả về một giá trị, thì bạn có thể lưu trữ giá trị trả về. Ví dụ -

Mã mẫu

#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;
}

Đầu ra

Max value is : 200