Nguyên Mẫu Hàm
Khai báo nguyên mẫu hàm nhằm cung cấp các thông tin của hàm cho trình biên dịch bao gồm
- Kiểu trả về của hàm
- Tên hàm
- Số lượng tham số của hàm
- Dánh sách kiểu dữ liệu của các tham số
Ví dụ 1 :
#include "stdio.h" //function prototype void greet(); int tong(int, int, int); long long solve(int, long long); void greet(){ printf("28tech.com.vn\n"); } int tong(int a, int b, int c){ return a + b + c; } long long solve(int a, long long b){ return 2 * a + 3 * b; } int main(){ greet(); printf("%d\n", tong(10, 20, 30)); printf("%lld\n", solve(10, 20)); return 0; }
Output :
28tech.com.vn 60 80
Ví dụ 2 : Chương trình bị lỗi biên dịch khi xây dựng hàm không đúng thứ tự
#include "stdio.h" void B(){ printf("28tech blog\n"); A(); } void A(){ printf("28tech\n"); } int main(){ B(); return 0; }
Giải thích :
Ví dụ trong chương trình dưới trên, hàm B() gọi hàm A() thì hàm A() cần xây dựng trước hàm B(). Nếu không thì chương trình sẽ bị lỗi biên dịch, điều tương tự xảy ra khi bạn gọi các hàm trong hàm main thì cần xây dựng các hàm này bên trên hàm main.
Khi sử dụng khai báo nguyên mẫu hàm bạn có thể tùy ý gọi các hàm trong chương trình mà không cần xét đến thứ tự.
Ví dụ 3 :
#include "stdio.h" //function prototype void A(); void B(); int main(){ B(); return 0; } void B(){ printf("28tech blog\n"); A(); } void A(){ printf("28tech\n"); }
Output :
28tech blog 28tech