Skip to content

05 Functions (Reusable Code)

Functions code ka wo snippet hain jo hum define karte hain aur zaroorat padne par baar-baar call kar sakte hain. Isse code clean rehta hai (DRY Principle).

1. Syntax 🛠️

return_type function_name(parameters) {
// Code body
return value;
}
#include <stdio.h>
// 1. Declaration (Promising compiler)
void greet();
// 2. Definition (Actual Code)
void greet() {
printf("Namaste! 🙏\n");
}
int main() {
// 3. Function Call
greet();
return 0;
}

2. Parameters & Return Values 📤📥

  • Parameters: Jo value function leta hai.
  • Return Type: Jo value function wapis deta hai.
int add(int a, int b) {
return a + b;
}
int result = add(5, 3); // result = 8

3. Call by Value vs Reference 📞

  • Call by Value: Variable ki copy pass hoti hai. Function me change karne se original variable change nahi hota.
  • Call by Reference: Address pass hota hai (Pointers). Function me change karne se original variable BHI change ho jata hai.

(Iska detailed example upcoming Pointers chapter me hai!)

4. Recursion (Self Calling) 🔄

Jab function khud ko hi call kare.

int factorial(int n) {
if (n == 0) return 1; // Base Condition (Rokne ke liye)
return n * factorial(n - 1);
}
// factorial(5) -> 120