C Program to find direction of growth of stack

CServer Side ProgrammingProgramming

A stack is a data structure that stores elements. There are two operations on the stack. push that adds a new element to the stack. pop that removes an element from the stack.

The stack can grow upward and downward according to the nature of the program that uses it. The program to find the direction of the growth of stack in a program.


Step 1: Create a local variable in the main function.
Step 2: Create a function that with a local variable.
Step 3: Call the function from the main function. And then compare the local variables of in both these functions.
Step 4: Compare the address of local variables in main and the function.
Step 5: If address variable in main is more than local variable of the function, then stack grows upward otherwise it grows downward.


 Live Demo

void fun(int *main_local_addr){
   int fun_local;
   if (main_local_addr < &fun_local)
      printf("Stack grows upward\n");
      printf("Stack grows downward\n");
int main(){
   int main_local;
   return 0;


Stack grows downward
Published on 19-Sep-2019 09:05:53