C Programming/C Function

Types of User Defined Functions

Updated on January 9, 2026
1 min read

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)

TypeArgumentsReturn Value
Type 1NoNo
Type 2YesNo
Type 3NoYes
Type 4YesYes

Types of User Defined Functions | C Programming | Learn Syntax