Ở đây ta sẽ xem các loại hàm C dựa trên giá trị trả về và đối số.
Một hàm có thể nhận đối số hoặc không. Tương tự, hàm có thể trả về giá trị hoặc không. Do đó có thể phân loại thành 4 loại:
- Hàm không đối số, không trả về giá trị.
- Hàm không đối số, có trả về giá trị.
- Hàm có đối số, không trả về giá trị.
- Hàm có đối số và có trả về giá trị.
Ví dụ 1: Không đối số, không trả về
#include <stdio.h>
void my_function() {
printf("This is a function that takes no argument, and returns nothing.");
}
int main() {
my_function();
return 0;
}
Kết quả
This is a function that takes no argument, and returns nothing.
Hàm này không nhận đối số, kiểu trả về void, nên không trả về gì.
Ví dụ 2: Không đối số, có trả về
#include <stdio.h>
int my_function() {
printf("This function takes no argument, But returns 50\n");
return 50;
}
int main() {
int x = my_function();
printf("Returned Value: %d", x);
return 0;
}
Kết quả
This function takes no argument, But returns 50 Returned Value: 50
Hàm không nhận đối số nhưng kiểu trả về int, nên trả về giá trị.
Ví dụ 3: Có đối số, không trả về
#include <stdio.h>
void my_function(int x) {
printf("This function is taking %d as argument, but returns nothing", x);
}
int main() {
int x = 10;
my_function(x);
return 0;
}
Kết quả
This function is taking 10 as argument, but returns nothing
Hàm nhận đối số nhưng kiểu trả về void, nên không trả về gì.
Ví dụ 4: Có đối số, có trả về
#include <stdio.h>
int my_function(int x) {
printf("This will take an argument, and will return its squared value\n");
return x * x;
}
int main() {
int x = 12, res;
res = my_function(12);
printf("Returned Value: %d", res);
return 0;
}
Kết quả
This will take an argument, and will return its squared value Returned Value: 144
Hàm nhận đối số và cũng trả về giá trị.