Understanding Function Arguments and Return Types in C

C Programming @ Freshers.in


When it comes to programming in C, functions are an essential building block of your code. They allow you to encapsulate a set of instructions into a single unit that can be called from different parts of your program. In this article, we will delve deep into the world of functions in C, specifically focusing on function arguments and return types. We’ll provide real-world examples with code and output to help you grasp these concepts thoroughly. Understanding function arguments and return types is crucial for writing effective and modular C programs. By defining the right arguments and return types, you can create functions that are versatile and reusable. We hope this article will provide you with a clear understanding of these concepts, and you’re now better equipped to harness the power of functions in your C programming journey.

Understanding Functions in C

Before diving into function arguments and return types, let’s have a quick recap of what a function is in C. A function is a self-contained block of code that performs a specific task. It can take input values, perform operations on them, and optionally return a result.

Function Arguments

Function arguments, also known as parameters, are the values that you pass to a function when you call it. These values are used by the function to perform its operations. Let’s look at an example:

#include <stdio.h>
// Function to add two numbers
int add(int num1, int num2) {
    return num1 + num2;
int main() {
    int result = add(5, 3); // Calling the 'add' function with arguments 5 and 3
    printf("The sum is: %d\n", result);
    return 0;

In this example, the add function takes two integer arguments num1 and num2. When we call add(5, 3) in the main function, num1 receives the value 5, and num2 receives the value 3. The function then returns the sum of these two values, which is 8. The output of this program will be:

The sum is: 8

Return Types

Return types define what kind of value a function will return to the caller. In the previous example, the add function had an int return type because it returned an integer value. Let’s see another example:

#include <stdio.h>
// Function to calculate the square of a number
double square(double num) {
    return num * num;
int main() {
    double result = square(4.5); // Calling the 'square' function with argument 4.5
    printf("The square is: %lf\n", result);
    return 0;

In this case, the square function has a return type of double because it returns the square of a number, which can be a floating-point value. When we call square(4.5), it calculates the square of 4.5, which is 20.25, and returns it. The output of this program will be:

The square is: 20.250000
Author: user