ऐरे, स्टिंग और कार्य
Array, String और Function का कंप्यूटर में उपयोग – आसान भाषा में समझें
परिचय
अगर आप कंप्यूटर प्रोग्रामिंग सीख रहे हैं तो आपने ज़रूर सुना होगा – Array, String, और Function के बारे में। ये तीनों किसी भी programming language (जैसे C, C++, Python) में ऐसे ज़रूरी concepts हैं जो प्रोग्राम को व्यवस्थित, तेज़ और दोबारा इस्तेमाल करने योग्य बनाते हैं।
आइए एक-एक करके इन्हें समझते हैं — और साथ में ये भी जानते हैं कि इनका प्रैक्टिकल इस्तेमाल कैसे होता है।
Array (एरे) – एक जैसा डेटा, एक नाम
क्या है?
Array एक ऐसा डेटा स्ट्रक्चर है जिसमें एक ही प्रकार के कई मान (values) को एक साथ स्टोर किया जा सकता है। जैसे अगर हमें 10 students के नंबर स्टोर करने हों, तो हम 10 अलग-अलग variables की बजाय एक Array बना सकते हैं।
उदाहरण:
उपयोग:
-
डेटा को लूप के ज़रिए एकसाथ process करना
-
बड़े डेटा सेट को compact रूप में संभालना
String (स्ट्रिंग) – शब्दों की दुनिया
क्या है?
String असल में characters का एक क्रम (sequence) होता है जिसे शब्द या वाक्य के रूप में इस्तेमाल किया जाता है। C में string एक character array ही होता है।
उदाहरण:
उपयोग:
-
नाम, ईमेल, मैसेज आदि को store करना
-
टेक्स्ट compare करना या जोड़ना
Function (फंक्शन) – Reusable Code का जादू
क्या है?
Function एक ऐसा कोड ब्लॉक होता है जिसे बार-बार कॉल किया जा सकता है। इसमें input (parameter) लिया जाता है और output (return value) दिया जाता है।
उदाहरण:
उपयोग:
-
कोड को टुकड़ों में बाँटना (modular बनाना)
-
बार-बार होने वाले tasks को simplify करना
तीनों का एकसाथ प्रयोग कैसे करें?
नीचे एक छोटा प्रोग्राम दिया गया है जिसमें Array, String और Function तीनों का एकसाथ प्रयोग हो रहा है:
निष्कर्ष
Array, String और Function प्रोग्रामिंग की वो तीन मजबूत नींव हैं जिन पर efficient और organized software बनाए जाते हैं। अगर आपने इनका सही उपयोग करना सीख लिया तो कोई भी कोड आपको मुश्किल नहीं लगेगा।
👉 याद रखें:
-
Array एक ही type के multiple data को संभालता है।
-
String character का array होता है।
-
Function आपके code को reusable और readable बनाता है।
Bonus Tips:
-
Array में कभी भी declared size से ज्यादा data न डालें।
-
String में null character (
\0
) होना जरूरी है। -
Function में meaningful नाम और comments ज़रूर दें।
चैप्टर के सारे प्रश्न उत्तर यहीं से शुरू होते हैं
अतिलघु उत्तरीय प्रश्न तथा उनके उत्तर
-
क्रमिक खोज क्रिया क्या है?
➤ यह एक खोज तकनीक है जिसमें एक-एक करके सभी एलिमेंट्स को तब तक देखा जाता है जब तक वांछित मान मिल न जाए। -
Strlen() का उपयोग लिखिए।
➤ यह फंक्शन स्ट्रिंग की लंबाई (character count) को return करता है, null character को छोड़कर। -
string.h क्या है?
➤ यह एक हेडर फाइल है जिसमें स्ट्रिंग्स से संबंधित फंक्शन जैसेstrlen()
,strcpy()
आदि डिफाइन होते हैं। -
gets() तथा puts() फंक्शन का उपयोग लिखिए।
➤gets()
यूज़र से स्ट्रिंग इनपुट लेने के लिए औरputs()
स्क्रीन पर स्ट्रिंग आउटपुट के लिए प्रयोग होता है। -
strcpy() और strcat() फंक्शन में अंतर बताइए।
➤strcpy()
एक स्ट्रिंग को दूसरी में कॉपी करता है जबकिstrcat()
एक स्ट्रिंग को दूसरी के अंत में जोड़ता है। -
strcmp() फंक्शन द्वारा रिटर्न किए गए मान से क्या पता चलता है?
➤ यदि दो स्ट्रिंग समान हैं तो 0 रिटर्न करता है, यदि पहली बड़ी है तो पॉजिटिव और छोटी है तो नेगेटिव मान। -
एक फंक्शन में कंट्रोल कब जाता है और उससे कब बाहर आता है?
➤ जब फंक्शन को कॉल किया जाता है तब कंट्रोल उसमें जाता है और return स्टेटमेंट या end होने पर बाहर आता है। -
फंक्शन परिभाषा का सिंटैक्स लिखिए।
➤return_type function_name(parameters) { // statements }
-
फंक्शन के रिटर्न टाइप से आप क्या समझते हैं?
➤ यह फंक्शन से लौटने वाले मान के प्रकार (जैसे int, float, void) को दर्शाता है। -
आर्ग्युमेंट क्या हैं?
➤ ये वे वैल्यूज़ होती हैं जो फंक्शन को कॉल करते समय भेजी जाती हैं, जिनसे वह काम करता है। -
स्ट्रिंग मैनिपुलेशन के मुख्य कार्य बताइए।
➤ स्ट्रिंग की कॉपी, तुलना, जोड़ना, लंबाई मापना, इनपुट लेना और आउटपुट देना। -
‘C’ में ऐसे कितने प्रकार के होते हैं?
➤ C में मुख्यतः तीन प्रकार के फंक्शन होते हैं
- Standard Library Functions
- User-defined Functions
- Recursive Functions
लघु उत्तरीय प्रश्न एवं उत्तर
1. निम्नलिखित पर संक्षिप्त टिप्पणी लिखिए—
(i) भूमिका (ii) संग्राहक (iii) सॉर्टिंग
उत्तर:
-
(i) भूमिका: किसी प्रोग्राम या टॉपिक की प्रारंभिक जानकारी जिसे "introduction" कहते हैं, उसे भूमिका कहते हैं।
-
(ii) संग्राहक (Accumulator): यह CPU का एक रजिस्टर होता है जो intermediate arithmetic एवं logical results को hold करता है।
-
(iii) सॉर्टिंग: सॉर्टिंग का अर्थ है किसी डेटा को किसी निर्धारित क्रम (जैसे ascending या descending) में व्यवस्थित करना।
2. 2-D ऐरे में हम पूरी स्ट्रिंग एक साथ स्टोर करना चाहते हैं। इसके लिए हम कौन-से फंक्शन प्रयोग कर सकते हैं?
उत्तर:हम 2-D ऐरे में स्ट्रिंग स्टोर करने के लिए
strcpy()
और gets()
जैसे functions का प्रयोग कर सकते हैं। strcpy()
एक स्ट्रिंग को दूसरी में कॉपी करने के लिए तथा gets()
यूज़र से स्ट्रिंग इनपुट लेने के लिए उपयोग होता है।
3. 'C' भाषा का लाभ बताइए।
उत्तर:'C' भाषा एक तेज़, विश्वसनीय और पॉवरफुल programming भाषा है। इसके लाभ:
-
हार्डवेयर के नज़दीक कार्य करना
-
Portable code
-
Structured programming support
-
स्टैंडर्ड लाइब्रेरी और rich set of operators
4. निम्नलिखित का क्या अर्थ है (क) मशीन (ख) पैनलोप्स
-
(क) मशीन: मशीन वह यंत्र है जो किसी निर्देश के अनुसार कार्य करता है।
-
(ख) पैनलोप्स (Penelope): यह संभवतः एक उदाहरण या काल्पनिक पात्र है जिसका उपयोग सॉफ्टवेयर से संबंधित चर्चा में किया गया है। (यदि संदर्भ स्पष्ट हो तो और भी बेहतर उत्तर दिया जा सकता है।)
5. printf
एवं getchar
फंक्शन की मुख्य विशेषताओं का वर्णन करो।
उत्तर:
-
printf()
आउटपुट दिखाने के लिए प्रयोग होता है, जैसे text, variable value आदि। -
getchar()
यूज़र से एक character इनपुट लेने के लिए प्रयोग होता है।
6. सी-भाषा में त्रुटियों के कारण लिखिए।
उत्तर:'C' भाषा में त्रुटियों के प्रमुख कारण:
-
Semicolon या ब्रैकेट का न लगना
-
गलत डेटा टाइप
-
मिसमैच पैरामीटर
-
गलत लाइब्रेरी का उपयोग
-
Syntax errors जैसे मिसिंग कोलन या ग़लत keyword
7. स्टैंडर्ड कैरेक्टर सेट को बताइए। (2022)
उत्तर:C भाषा में स्टैंडर्ड कैरेक्टर सेट में ASCII (American Standard Code for Information Interchange) शामिल होता है, जिसमें 0 से 127 तक यूनिकोड अक्षर, अंक, चिन्ह आदि शामिल हैं।
8. यूज़र डिफाइंड फंक्शन पर उदाहरण सहित टिप्पणी लिखिए।
उत्तर:यूज़र डिफाइंड फंक्शन वह होता है जिसे प्रोग्रामर स्वयं define करता है।
उदाहरण:
9. स्टेटमेंट sum = a + b;
में +
क्या दर्शाता है?
उत्तर:यहाँ
+
एक Arithmetic Operator है जो दो संख्याओं a
और b
का योग करता है और उसे sum
में store करता है।
10. एक प्रोग्राम लिखिए जो 1 से 100 तक की संख्याओं का योग ज्ञात करे।
उत्तर:
11. void एवं यूज़र डिफाइंड फंक्शन में अंतर बताइए।
उत्तर:-
void
एक रिटर्न टाइप है जिसका अर्थ है कि फंक्शन कुछ भी return नहीं करेगा। -
यूज़र डिफाइंड फंक्शन वो होता है जिसे यूज़र अपनी आवश्यकता अनुसार define करता है।
उदाहरण:void display()
औरint sum(int a, int b)
12. उदाहरण सहित लाइब्रेरी फंक्शन तथा यूज़र डिफाइंड फंक्शन में अंतर स्पष्ट कीजिए।
उत्तर:-
लाइब्रेरी फंक्शन: पहले से बनी हुई फंक्शन होते हैं जैसे
printf()
,scanf()
,strlen()
-
यूज़र डिफाइंड फंक्शन: प्रोग्रामर द्वारा बनाए गए फंक्शन, जैसे
int add(int a, int b)
13. C भाषा में यूनियन तथा स्ट्रक्चर में क्या अंतर है?
उत्तर:-
स्ट्रक्चर: इसमें सभी member variables के लिए अलग-अलग memory allocate होती है।
-
यूनियन: इसमें सभी members एक ही memory location को शेयर करते हैं। यूनियन में एक समय पर एक ही वैरिएबल का मान सुरक्षित रह सकता है।
14. फंक्शन की आवश्यकता क्यों है? इसे कितने प्रकार का होते हैं? उदाहरण सहित समझाइए।
उत्तर:फंक्शन प्रोग्रामिंग में कोड को modular बनाते हैं, reusability बढ़ाते हैं और debugging आसान करते हैं।
प्रकार:
-
Library Functions (
printf
,scanf
) -
User-defined Functions (
int sum(int, int)
) -
Recursive Functions (जो स्वयं को call करते हैं)
महत्वपूर्ण तथ्य
- ऐं के प्रत्येक अवस्था में बिना loop का प्रयोग किये डाटा डाला जा सकता है।
- ऐं के Initialization के समय सबस्क्रिप्ट [] को रिक्त छोड़ा जा सकता है।
- 10' या नल कैरेक्टर स्ट्रिंग की समाप्ति को दर्शाता है।
- स्ट्रिंग प्रकार का कन्सटेन्ट ऐं होता है।
- स्ट्रिंग में इनपुट देने के लिये gets फंक्शन का प्रयोग करते हैं।
- किसी डाटा समूह में किसी विशेष डाटा आइटम को खोजने की क्रिया श्रमशील भाषा में सर्चिंग कहलाती है।
- यदि दो या अधिक स्ट्रिंग सूचीबद्ध हो एवं उन पर व्यवस्थित करने की क्रिया सम्पन्न करानी हो तो
- लाइनिंग फाइल्स विभिन्न हेडर फाइलों में बने होते हैं।
- एक फंक्शन से लौटने की लॉजिकल प्रक्रिया को ही एक दूसरे से सम्बन्धन कार्य कहते हैं।
- सी भाषा में फंक्शन दो प्रकार के होते हैं।
- सी भाषा में किसी प्रोग्राम में कम से कम एक फंक्शन main() आवश्यक होता है।
- जिस फंक्शन के प्रयोग से फंक्शन को कॉल किया जाता है, उसको calling कहते हैं।
- Function के नाम रखने में उन्हें नियमों का प्रयोग करते हैं, जिनका प्रयोग हम वैरिएबल के नाम रखने में करते हैं।
- जब एक फंक्शन अपने आपको कॉल करता है तो यह प्रक्रिया recursion कहलाती है।
- Arithmetic Functions का प्रयोग Arithmetic Operations में किया जाता है।
- C Language में, Union एक विशेष data type होता है जिसके द्वारा हम अलग-अलग data types को same (समान) memory location में स्टोर करते हैं।
- दूसरे शब्दों में कहें तो, एक यूनियन user के द्वारा define किया हुआ data type होता है। इसमें सभी members एक ही memory location को share करते हैं।
- हम Union को बहुत सारे elements के साथ define कर सकते हैं और इसमें प्रत्येक element को member कहते हैं।
- इसे union कीवर्ड के द्वारा define किया जाता है।
- यूनियन, structure की तरह ही समान होते हैं परन्तु इनके मध्य एक अंतर होता है। structure सभी members को स्टोर करने के लिए memory space प्रदान करता है जबकि union केवल सबसे बड़े member को स्टोर करने के लिए memory प्रदान करता है।
- यह जरूरी नहीं है union के प्रत्येक member को access कर सकते हैं। एक समय में सभी members को access नहीं किया जा सकता है।
- यूनियन का प्रयोग उस स्थिति में किया जाता है जैसे एक स्थान पर एक ही प्रकार का data store करना है।
- यूनियन उस स्थिति में उपयुक्त होता है जब memory की अधिकतम बचत करनी हो।
- यूनियन में, सबसे बड़ा सदस्य, सभी सदस्यों को स्थान साझा करता है जो स्थान की आवश्यकता के अनुसार होता है।
विस्तृत उत्तरात्मक प्रश्न
1. सॉर्टिंग क्या है? इसकी कार्यविधि का वर्णन करें।
उत्तर:सॉर्टिंग (क्रमबंध) एक ऐसी क्रिया है जिसमें कानी डेटा संरचना जैसे एरे, लिंक्ड लिस्ट आदि को किसी विशेष क्रम में व्यवस्थित किया जाता है।
यह क्रम आरोही (Ascending) या अवरोही (Descending) हो सकता है। इसके कायी प्रकार की चीजे जाती हैं:
Bubble Sort
Selection Sort
Insertion Sort
Merge Sort
Quick Sort
ये डेटा की तुलना और क्रमबंध की क्रिया पर कार्य करती है। उदाहरण के लिए Bubble Sort की कार्यविधि निञे जाती है:
जब टूलना की जोड़ी की तुलना का तुलना ज्यादा जाता है तो उनकी स्वैप करी जाती है। एन प्रकारियाओं को चलानो जब तक ये डेटा क्रम में न आ जाए।
2. एक प्रोग्राम बनाइए जिसमें प्रयुक्त स्ट्रिंग इनपुट करे और वह Reverse Print हो।
उत्तर: