Thursday, November 20, 2025

Function in hindi

 

                         फंक्शन (Function) 



Function (फंक्शन):

C भाषा में फंक्शन एक कोड का ब्लॉक होता है जो किसी विशेष कार्य (specific task) को करता है और जिसे प्रोग्राम में कई बार उपयोग किया जा सकता है।
यह बड़े प्रोग्राम को छोटे-छोटे हिस्सों में बाँटने में मदद करता है ताकि उसे समझना और संभालना आसान हो।


Subroutine (सबरूटीन):

सबरूटीन भी कोड का एक ब्लॉक होता है जो कोई विशेष कार्य करता है,
लेकिन यह कोई मान (value) वापस नहीं करता।
C भाषा में सबरूटीन को void function के रूप में लिखा जाता है।


फंक्शन और सबरूटीन के उपयोग (Uses)

उद्देश्य (Purpose)व्याख्या (Explanation)
कोड पुन: उपयोग (Code Reusability)एक फंक्शन को एक बार लिखकर कई बार उपयोग किया जा सकता है।
मॉड्यूलरिटी (Modularity)बड़े प्रोग्राम को छोटे-छोटे हिस्सों (modules) में बाँट देता है।
आसान डीबगिंग (Easy Debugging)छोटे-छोटे फंक्शनों में त्रुटियाँ (errors) आसानी से खोजी जा सकती हैं।
बेहतर पठनीयता (Improved Readability)प्रोग्राम को पढ़ना और समझना आसान बनाता है।
टीम वर्क (Teamwork)अलग-अलग प्रोग्रामर अलग-अलग फंक्शन बना सकते हैं।

फंक्शन और सबरूटीन की कमियाँ (Drawbacks)

कमी (Drawback)व्याख्या (Explanation)
अधिक मेमोरी का उपयोग (Extra Memory Use)फंक्शन कॉल के लिए पैरामीटर और रिटर्न वैल्यू की मेमोरी लगती है।
धीमा निष्पादन (Execution Overhead)फंक्शन कॉल्स के कारण प्रोग्राम थोड़ा धीमा हो सकता है।
जटिलता (Complexity)बहुत अधिक छोटे-छोटे फंक्शन को संभालना मुश्किल हो सकता है।

घोषणा और प्रारंभिककरण (Declaration and Initialization)

(a) Function Declaration (फंक्शन घोषणा)

इसे Function Prototype भी कहा जाता है।
यह कंपाइलर को बताता है कि फंक्शन का नाम, रिटर्न टाइप और पैरामीटर क्या होंगे।

सिंटैक्स (Syntax):

return_type function_name(parameter_list);

उदाहरण:

int add(int, int); void greet();

Function Definition (फंक्शन परिभाषा)

यह बताता है कि फंक्शन वास्तव में क्या कार्य करेगा।

सिंटैक्स:

return_type function_name(parameter_list) { // statements }

उदाहरण:

int add(int a, int b) { return a + b; }

Function Call (फंक्शन कॉल)

फंक्शन को चलाने के लिए उपयोग किया जाता है।

सिंटैक्स:

function_name(arguments);

उदाहरण:

sum = add(5, 10);

फंक्शनों के प्रकार (Types of Functions)

1. लाइब्रेरी फंक्शन (Library Function)

परिभाषा:
लाइब्रेरी फंक्शन पहले से बने होते हैं और C की हेडर फाइलों (जैसे stdio.h, math.h, string.h) में मौजूद रहते हैं।
इन्हें सीधे प्रोग्राम में उपयोग किया जा सकता है।

उदाहरण:

printf(); // आउटपुट के लिए scanf(); // इनपुट के लिए sqrt(); // वर्गमूल के लिए strlen(); // स्ट्रिंग की लंबाई के लिए

नोट:
लाइब्रेरी फंक्शन का उपयोग करने से पहले उसकी हेडर फाइल शामिल करनी होती है।
उदाहरण:

#include <math.h>

2. यूज़र-डिफाइंड फंक्शन (User-Defined Function)

परिभाषा:
ऐसे फंक्शन जो प्रोग्रामर स्वयं किसी विशेष कार्य के लिए बनाता है।
यह प्रोग्राम को मॉड्यूलर, पुन: प्रयोग योग्य और समझने में आसान बनाता है।

उदाहरण:

int add(int a, int b) { return a + b; }

सिंटैक्स:

return_type function_name(parameter_list) { // statements }

C में फंक्शन के प्रकार (आर्ग्युमेंट और रिटर्न वैल्यू के आधार पर)

1. बिना आर्ग्युमेंट और बिना रिटर्न वैल्यू के

परिभाषा: यह फंक्शन कोई इनपुट नहीं लेता और कोई आउटपुट नहीं लौटाता।

उदाहरण:

#include <stdio.h> void greet() { printf("Hello Students!\n"); } int main() { greet(); return 0; }

उपयोग: केवल कोई कार्य करवाना हो, जैसे संदेश दिखाना।


2. आर्ग्युमेंट के साथ लेकिन बिना रिटर्न वैल्यू के

परिभाषा: यह फंक्शन इनपुट तो लेता है, लेकिन कोई मान वापस नहीं करता।

उदाहरण:

#include <stdio.h> void displaySum(int a, int b) { printf("Sum = %d\n", a + b); } int main() { displaySum(10, 20); return 0; }

उपयोग: जब आउटपुट को सीधे फंक्शन के अंदर दिखाना हो।


3. बिना आर्ग्युमेंट लेकिन रिटर्न वैल्यू के साथ

परिभाषा: यह कोई इनपुट नहीं लेता, लेकिन कोई मान वापस करता है।

उदाहरण:

#include <stdio.h> int getNumber() { return 100; } int main() { int num = getNumber(); printf("Number = %d", num); return 0; }

उपयोग: जब फंक्शन खुद कोई मान उत्पन्न करता है।


4. आर्ग्युमेंट और रिटर्न वैल्यू दोनों के साथ

परिभाषा: यह फंक्शन इनपुट भी लेता है और आउटपुट भी लौटाता है।
यह सबसे अधिक उपयोग किया जाने वाला प्रकार है।

उदाहरण:

#include <stdio.h> int add(int a, int b) { return a + b; } int main() { int sum = add(10, 20); printf("Sum = %d", sum); return 0; }

उपयोग: जब इनपुट और आउटपुट दोनों की आवश्यकता हो।


Recursion in Function

परिभाषा:
Recursion वह प्रक्रिया है जिसमें कोई फंक्शन स्वयं को ही बार-बार कॉल करता है।
सरल शब्दों में, Recursive Function वह फंक्शन होता है जो खुद को कॉल करता है।

सिंटैक्स:

return_type function_name(parameters) { if (condition) return some_value; // Base case else return function_name(modified_parameter); // Recursive call }

महत्वपूर्ण शब्दावली:

  1. Recursive Call: जब कोई फंक्शन खुद को कॉल करता है।

  2. Base Case: वह स्थिति जो फंक्शन को खुद को दोबारा कॉल करने से रोकती है (अनंत लूप से बचने के लिए)।


उदाहरण: फैक्टोरियल निकालना (Factorial using Recursion)

#include <stdio.h> int factorial(int n) { if (n == 0 || n == 1) return 1; // Base case else return n * factorial(n - 1); // Recursive call } int main() { int num = 5; printf("Factorial of %d = %d", num, factorial(num)); return 0; }

आउटपुट:

Factorial of 5 = 120

Recursion के लाभ और हानियाँ (Advantages and Disadvantages)

लाभ (Advantages)

क्रमलाभव्याख्या
1.जटिल समस्याओं को सरल बनाता हैजैसे Factorial, Fibonacci, Tree traversal को आसानी से हल किया जा सकता है।
2.कोड छोटा होता हैRecursive कोड लूप की तुलना में छोटा होता है।
3.तर्क स्पष्ट होता हैदोहराव वाले कार्यों की लॉजिक को समझना आसान होता है।
4.पुनरावृत्ति में सहायकलूप की बजाय खुद को कॉल करके दोहराव करता है।

हानियाँ (Disadvantages)

क्रमहानिव्याख्या
1.अधिक मेमोरी का उपयोगहर कॉल में नई स्टैक मेमोरी लगती है।
2.धीमी गतिबार-बार फंक्शन कॉल होने से निष्पादन धीमा होता है।
3.डीबग करना कठिनRecursive कॉल्स में त्रुटि ढूंढना मुश्किल होता है।
4.अनंत पुनरावृत्ति का खतरायदि बेस कंडीशन गलत हो तो प्रोग्राम कभी नहीं रुकता।

No comments:

Post a Comment

Function

  Function Function : A function in C is a block of code that performs a specific task and can be used many times in a program. It help...