फंक्शन्स के दो मुख्य प्रकार
- प्रीडिफाइन्ड (लाइब्रेरी) फंक्शन्स
- यूजर-डिफाइन्ड फंक्शन्स
प्रीडिफाइन्ड (लाइब्रेरी) फंक्शन्स
- सिस्टम लाइब्रेरीज में पहले से परिभाषित।
- प्रोग्रामर मौजूदा कोड पुन: उपयोग कर त्रुटि-मुक्त कोड लिख सकते हैं।
- उपयोगकर्ता को फंक्शन का सिंटैक्स पता होना चाहिए।
उदाहरण
sqrt() in math.h: y = sqrt(x) जहां x पॉजिटिव। sqrt(25) = 5।
printf() in stdio.h
clrscr() in conio.h (पुराना, नॉन-स्टैंडर्ड)
प्रोग्राम: sqrt() उपयोग
#include <stdio.h>
#include <conio.h>
#include <math.h>
int main() {
int x, y;
printf("Enter a positive number: ");
scanf("%d", &x);
y = sqrt(x);
printf("Square root = %d", y);
return 0;
}
आउटपुट
Enter a positive number: 25
Square root = 5
यूजर-डिफाइन्ड फंक्शन्स
- प्रोग्रामर द्वारा परिभाषित किए जाने वाले फंक्शन्स।
- प्रोग्रामर को कोड लिखकर ठीक से टेस्ट करना होता है।
- सिंटैक्स यूजर द्वारा दिया जाता है, कोई हेडर फाइल शामिल करने की आवश्यकता नहीं।
उदाहरण
main(), swap(), sum(), etc.
प्रोग्राम: यूजर-डिफाइन्ड sum()
#include <stdio.h>
#include <conio.h>
int sum(int, int); // डिक्लेरेशन
int main() {
int a, b, c;
printf("Enter 2 numbers: ");
scanf("%d %d", &a, &b);
c = sum(a, b);
printf("Sum = %d", c);
return 0;
}
int sum(int a, int b) { // डेफिनिशन
int c = a + b;
return c;
}
आउटपुट
Enter 2 numbers: 10 20
Sum = 30
तुलना
| विशेषता | लाइब्रेरी फंक्शन्स | यूजर-डिफाइन्ड फंक्शन्स |
| परिभाषा | सिस्टम लाइब्रेरी में | प्रोग्रामर द्वारा |
| हेडर फाइल | आवश्यक | आवश्यक नहीं |
| पोर्टेबिलिटी | स्टैंडर्ड लाइब्रेरी = पोर्टेबल | कोड पर निर्भर |
| उदाहरण | printf, sqrt, strlen | main, factorial, sort |