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 = 83. 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