|9. Functions in C
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 पूर्ण