C Recursion

C Tutorial

 C Recursion Tutorial

Recursion in C language is a technique where a function calls itself to solve a problem by breaking it into smaller sub-problems.


What is Recursion?

A function that calls itself directly or indirectly is called a recursive function.

Every recursive function must have:

  1. Base condition (stopping case)

  2. Recursive call (self call)


 Basic Recursion Syntax


 


 Simple Recursion Example

Print Numbers 1 to 5


 

 Output: 1 2 3 4 5


 Factorial Using Recursion (Interview Favorite)


 

 5! = 120


 Fibonacci Series Using Recursion


 

  •  Inefficient for large values

 Recursion vs Iteration

FeatureRecursionIteration
CodeSimpleComplex
MemoryMore (stack)Less
SpeedSlowerFaster
DebuggingHardEasy
  •  Use recursion when logic is naturally recursive

Stack Working in Recursion (Very Important)

Each recursive call:

  • Gets its own stack frame

  • Stores local variables & return address

 Deep recursion → Stack overflow


 Tail Recursion (Advanced)

  •  Recursive call is last statement
  •  Compiler may optimize

 Indirect Recursion


 


 Common Mistakes

  •  Missing base condition
  •  Infinite recursion
  •  Large input causing stack overflow
  •  Wrong return logic

 Interview Questions (Must Prepare)

  1. What is recursion?

  2. Base condition importance?

  3. Difference between recursion & iteration

  4. What is stack overflow?

  5. Tail recursion

  6. Indirect recursion


 Real-Life Use Cases

  • Tree & graph traversal

  • Divide & conquer algorithms

  • Backtracking

  • Compiler design

  • OS process handling


Summary

  •  Recursion simplifies complex problems
  •  Requires proper base condition
  •  Uses stack memory
  •  Very important for DSA & interviews

You may also like...