
Hàm là trái tim của lập trình có cấu trúc, cho phép bạn chia nhỏ chương trình thành các phần có thể tái sử dụng, giúp code dễ đọc, dễ bảo trì và debug. Bài viết này sẽ giúp bạn làm chủ hoàn toàn khái niệm hàm trong C.
Hàm là một khối mã thực hiện một tác vụ cụ thể và có thể được gọi từ nhiều nơi khác nhau trong chương trình. Việc sử dụng hàm giúp code dễ đọc, dễ bảo trì và tái sử dụng, đây là nền tảng của lập trình có cấu trúc.
Quảng cáo giúp chúng tôi duy trì trang web này
Tổng quan về hàm
Cú pháp định nghĩa hàm
Ví dụ thực tế: Hàm cơ bản
- Tái sử dụng code: Viết một lần, dùng nhiều nơi
- Dễ đọc: Chia nhỏ chương trình thành các phần logic
- Dễ bảo trì: Sửa lỗi ở một nơi, áp dụng toàn bộ
- Module hóa: Tách biệt các chức năng khác nhau
Các loại hàm
Hàm không có tham số và không trả về giá trị
Hàm có tham số và không trả về giá trị
Hàm có tham số và trả về giá trị
Nguyên mẫu hàm (Function Prototype)
Nguyên mẫu hàm khai báo hàm trước khi sử dụng, giúp trình biên dịch hiểu về hàm.
Truyền tham trị và truyền tham chiếu
Truyền tham trị (Pass by Value)
Truyền tham chiếu (Pass by Reference)
Trả về nhiều giá trị
Đệ quy (Recursion)
Đệ quy là khi một hàm gọi chính nó. Điều kiện quan trọng là phải có điều kiện dừng.
Ví dụ: Tính giai thừa
Ví dụ: Dãy Fibonacci
Hàm với mảng
Truyền mảng vào hàm
Hàm trả về con trỏ
Hàm với tham số mặc định (C99 trở lên)
Xử lý lỗi trong hàm
Ví dụ thực hành
1. Chương trình menu với các hàm
2. Hàm kiểm tra số nguyên tố
Tổng kết
Hàm là công cụ mạnh mẽ nhất để tổ chức code C một cách có cấu trúc và chuyên nghiệp.
Đệ quy có thể gây ra stack overflow nếu không có điều kiện dừng rõ ràng. Luôn đảm bảo có base case và recursive case hướng đến base case.
- Đặt tên hàm mô tả rõ chức năng
- Một hàm chỉ làm một việc duy nhất
- Sử dụng nguyên mẫu hàm để tổ chức code
- Tránh đệ quy sâu, ưu tiên vòng lặp khi có thể
Với những kiến thức này, bạn đã sẵn sàng để tạo ra các chương trình C phức tạp, có cấu trúc và dễ bảo trì. Hãy tiếp tục khám phá các khái niệm nâng cao như con trỏ và cấu trúc dữ liệu!
Last updated on