Phân loại rộng: Hàm định nghĩa sẵn (library) và Hàm do người dùng định nghĩa (user-defined).
1. Hàm định nghĩa sẵn (Predefined / Library Functions)
- Đã có trong thư viện hệ thống.
- Tái sử dụng code, ít lỗi.
- Cần biết cú pháp, include header phù hợp.
Ví dụ: sqrt() trong math.h, printf() trong stdio.h, clrscr() trong conio.h.
Chương trình
#include <stdio.h>
#include <conio.h>
#include <math.h>
int main() {
int x, y;
printf("Nhap so duong: "); scanf("%d", &x);
y = sqrt(x);
printf("Can bac 2 = %d", y);
return 0;
}
Kết quả
Nhap so duong: 25 Can bac 2 = 5
2. Hàm do người dùng định nghĩa (User-defined Functions)
- Người lập trình tự viết code, test kỹ.
- Không cần include header, cú pháp do mình quy định.
Ví dụ: main(), swap(), sum().
Chương trình
#include <stdio.h>
#include <conio.h>
int sum(int a, int b) { return a+b; }
int main() {
int a,b,c;
printf("Nhap 2 so: "); scanf("%d%d",&a,&b);
c = sum(a,b);
printf("Tong = %d", c);
return 0;
}
Kết quả
Nhap 2 so: 10 20 Tong = 30