Chapter 9C Language Tutorial~1 min read
Functions in C
Functions — Reusable Code
Function म्हणजे एक named code block जो specific task करतो. एकदा define करा, कितीही वेळा call करा. Functions वापरून code organized, readable आणि reusable होतो.
Function Syntax
Basic function definition
c
#include <stdio.h>
// Function declaration (prototype) — main() च्या आधी
int add(int a, int b);
void greet(char name[]);
int main() {
int result = add(10, 20);
printf("Sum: %d\n", result); // 30
greet("Rahul");
return 0;
}
// Function definition — main() च्या नंतर
int add(int a, int b) {
return a + b;
}
void greet(char name[]) { // void = काही return करत नाही
printf("नमस्कार, %s!\n", name);
}Parameters — Call by Value
C मध्ये values copy होतात
c
#include <stdio.h>
void doubleIt(int x) {
x = x * 2; // local copy बदलतो
printf("Function आत: %d\n", x);
}
int main() {
int num = 5;
doubleIt(num);
printf("Function बाहेर: %d\n", num); // 5 — बदलला नाही!
// C मध्ये call by value — function ला copy मिळतो
// Original बदलायला pointer पाठवावा लागतो
return 0;
}Recursive Functions
Recursion — function स्वतःला call करतो
c
#include <stdio.h>
// Factorial — n! = n × (n-1) × ... × 1
int factorial(int n) {
if (n == 0 || n == 1) return 1; // base case
return n * factorial(n - 1); // recursive call
}
// Fibonacci
int fibonacci(int n) {
if (n <= 1) return n;
return fibonacci(n - 1) + fibonacci(n - 2);
}
int main() {
printf("5! = %d\n", factorial(5)); // 120
printf("fib(7) = %d\n", fibonacci(7)); // 13
return 0;
}💡
Recursion मध्ये base case विसरू नका — नाहीतर infinite recursion होते आणि stack overflow येतो. प्रत्येक recursive function ला एक exit condition (base case) हवी.
✅ Key Points — लक्षात ठेवा
- ▸return_type function_name(params) { } — syntax
- ▸void — काही return नाही, int/float — value return करतो
- ▸Prototype declaration — main() च्या आधी द्यावी
- ▸Call by value — function ला original नाही, copy मिळतो
- ▸Recursion = function स्वतःला call करतो, base case mandatory
0/12 chapters पूर्ण