C++ Local Functions

A function is declared globally above the main function, or within the main function. You can also declare a function inside another function in C++. In this article, you will learn to declare, define and call a local function.


Local Function Declaration

Like every other function, a local function must be declared within the body of another function. You must declare the return type, number of parameters and their type.

For example,

void account()


    int total;

    int bill1, bill2;

    int add_bills(int , int );

//Initialization of variables

    bill1 = 2000;

    bill2 = 5000;

    total = 0;

//Compute total bill amount

    total = add_bills( bill, bill2);

//Print results

    cout << "Total Amount =" << "" << total << endl;


//Definition of function add_bills()

int add_bills( int bill1, int bill2)

    return(bill1 + bill2);


The function add_bills() is a local function with proper declaration, definition and function call. The function add_bills() adds the bill1 and bill2 and return their sum.

You can add any number of local functions in your program as long as they do not violate the rules of C++ functions.


Recursive Functions

The recursive function is a special case of local function where a function calls itself several times until the programming problem is solved.

See the following figure for the general structure of a recursive function.

Recursive Function
Recursive Function

The function factorial calls itself recursively because each call to factorial will also call itself until the value of n becomes 0. The value of n is decreasing with each iteration.

Example Program:

/*Program to compute Nth factorial */

#include <cstdlib>
#include <iostream>

using namespace std;

int fact (int n)

    unsigned int f;

    if ((n == 0) || (n == 1))

        return (n);


        /* Compute factorial by Recursive calls */

        f = n * fact (n - 1); 

        return (f);


main ()

    int i, n;

    /* Reading the number */

    cout << "Enter the Number :";

    cin >> n;
    /* Printing results */

    cout << "Factorial of Number" << n <<" is " << fact (n) << endl;

    system ("PAUSE");

    return 0;



Enter the Number: 5
Factorial of Number 5 is 120


Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detected!!!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.