Function có nghĩa là hàm là một khối lệnh cùng nhau thực hiện một nhiệm vụ. Mỗi chương trình C có ít nhất một hàm chức năng, đó chính là hàm main(), và tất cả các chương trình tầm thường nhất có thể xác định các hàm chức năng bổ sung.
Bạn có thể phân chia mã nguồn C của bạn vào từng hàm chức năng riêng biệt. Làm thế nào bạn phân chia mã của bạn giữa các chức năng khác nhau là tùy thuộc vào bạn, nhưng một cách hợp lý đó là xây dựng mỗi hàm chức năng tương ứng với một nhiệm vụ cụ thể .
Một hàm chức năng khai báo cho trình biên dịch về tên của một hàm chức năng, kiểu trả về, và các thông số đầu vào. Một hàm chức năng được định nghĩa để cung cấp thông tin cho phần thân hàm.
Các thư viện chuẩn C cung cấp nhiều chức năng được xây dựng mặc định trong chương trình của bạn có thể gọi. Ví dụ, hàm strcat () để nối hai chuỗi, hàm memcpy () để sao chép vị trí một bộ nhớ đến một địa điểm và còn rất nhiều hàm chức năng khác.
Một hàm chức năng được biết đến với những cái tên khác nhau.
Định nghĩa một hàm:
Dạng tổng quát của định nghĩa hàm trong ngôn ngữ lập trình C là như sau:
return_type function_name( parameter list )
{
body of the function
}
Định nghĩa hàm trong ngôn ngữ lập trình C bao gồm một function header và một function body. Dưới đây là tất cả các bộ phận của một hàm:
- Kiểu trả về: Một hàm có thể trả về một giá trị. Các return_type là kiểu dữ liệu của giá trị hàm trả về. Một số hàm chức năng 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 tế của các hàm chức năng. nên đặt function_name tên một chức năng nào đó.
- Tham số đầu vào : Một tham số giống như một kí tự giữ chỗ. Khi một hàm được gọi, bạn sẽ lấy được giá trị cho các tham số. Giá trị này được gọi là tham số thực tế hoặc đối số. Danh sách tham số dùng để chỉ type, order hoặc number của một hàm.
- Thân hàm : Các cơ quan chức năng có chứa một tập hợp các câu lệnh xác định những chức năng tương ứng.
Ví dụ:
Sau đây là các mã nguồn cho một chức năng gọi là max (). Chức năng này có hai tham số num1 và num2 và trả về là kiểu số nguyên.
Chức năng khai báo:
Khai báo hàm cho trình biên dịch về một tên hàm và làm thế nào để gọi hàm. Cơ thể thực tế của các hàm chức năng có thể được xác định riêng.
Hàm chức năng có các phần sau đây:
return_type function_name( parameter list );
sau đây là cách khai báo hàm :
int max(int num1, int num2);
Tên tham số là không quan trọng trong khai báo hàm chỉ cần thiết là các tham số đầu vào được khai báo kiểu dữ liệu đầy đủ, vì vậy sau đây cũng là khai báo hợp lệ:
int max(int, int);
Khai báo hàm là cần thiết khi bạn định nghĩa một hàm trong một file nguồn và bạn gọi function này trong tập tin khác. Trong trường hợp này bạn nên khai báo các chức năng ở phía trên cùng của tập tin gọi chức năng.
Gọi một hàm:
Trong khi tạo một hàm C, bạn đưa ra một định nghĩa về những gì các hàm đã làm. Để sử dụng một hàm, bạn sẽ phải gọi tên hàm chính xác để thực hiện nhiệm vụ được xác định.
Để gọi một chức năng, đơn giản bạn chỉ cần bạn nhập vào các thông số đầu vào cần thiết cho hàm bạn đã khai báo, và nếu hàm trả về một giá trị, sau đó bạn có thể lưu trữ giá trị trả về. Ví dụ như:
Tôi cứ max) chức năng (cùng với hàm main () và biên dịch mã nguồn. Trong khi chạy thực thi cuối cùng, nó sẽ tạo ra các kết quả sau đây:
Max value is : 200
Function Arguments:
Nếu một chức năng là sử dụng đối số, nó phải khai báo các biến mà chấp nhận các giá trị của các đối số. Các biến này được gọi là tham số hình thức của hàm.
Các thông số chính thức hoạt động giống như các biến địa phương khác bên trong hàm và được tạo ra khi nhập cảnh vào các chức năng và bị phá hủy sau khi thoát.
Trong khi kêu gọi một chức năng, có hai cách mà các đối số có thể được chuyển đến một chức năng:
Cách Gọi | Miêu tả |
---|---|
Gọi bằng giá trị | Phương pháp này sẽ copy các giá trị thực tế của một đối số vào các tham số hình thức của hàm. Trong trường hợp này, những thay đổi được thực hiện cho các tham số bên trong các chức năng không có hiệu lực trên các đối số. |
Gọi bằng cách tham khảo | Phương pháp này sẽ copy địa chỉ của một đối số vào các tham số chính thức. Bên trong hàm, địa chỉ được sử dụng để truy cập các đối số thực tế được sử dụng trong các cuộc gọi. Điều này có nghĩa rằng những thay đổi được thực hiện cho các tham số ảnh hưởng đến các đối số. |
Theo mặc định, C sử dụng cuộc gọi bằng giá trị để vượt qua các đối số. Nói chung, điều này có nghĩa là mã trong một chức năng không thể làm thay đổi các tham số được sử dụng để gọi hàm và ví dụ trên đã đề cập, trong khi kêu gọi max () chức năng sử dụng cùng một phương pháp.
0 nhận xét:
Đăng nhận xét