Types of User-Defined Functions in C
In C, user-defined functions are classified based on:
- Arguments (parameters)
- Return value
There are 4 standard types. This is very important for exams.
Type 1: No Arguments, No Return Value
Meaning
- Function takes no input
- Function returns nothing
- Uses
void
Example
c
1#include <stdio.h>
2
3void greet() {
4 printf("Hello, Welcome!");
5}
6
7int main() {
8 greet(); // function call
9 return 0;
10}Use case
- Simple messages
- Printing fixed output
Type 2: Arguments, No Return Value
Meaning
- Function takes input
- Function does not return a value
- Uses
void
Example
c
1#include <stdio.h>
2
3void add(int a, int b) {
4 printf("Sum = %d", a + b);
5}
6
7int main() {
8 add(5, 3);
9 return 0;
10}Use case
- When result is directly printed
- No need to send value back
Type 3: No Arguments, Return Value
Meaning
- Function takes no input
- Function returns a value
Example
c
1#include <stdio.h>
2
3int getNumber() {
4 return 10;
5}
6
7int main() {
8 int x = getNumber();
9 printf("%d", x);
10 return 0;
11}Use case
- Value generated inside function
- Random number, fixed value
Type 4: Arguments and Return Value (MOST IMPORTANT)
Meaning
- Function takes input
- Function returns a value
Example
c
1#include <stdio.h>
2
3int add(int a, int b) {
4 return a + b;
5}
6
7int main() {
8 int result = add(5, 3);
9 printf("Sum = %d", result);
10 return 0;
11}Use case
- Most real programs
- Clean and reusable logic
Comparison Table (Exam-Ready)
| Type | Arguments | Return Value |
| Type 1 | No | No |
| Type 2 | Yes | No |
| Type 3 | No | Yes |
| Type 4 | Yes | Yes |
