string array c implementation representation with examples
C ++ में एक स्ट्रिंग ऐरे स्ट्रिंग्स का एक ऐरे है। इस ट्यूटोरियल में, हम C ++ में स्ट्रिंग एरर्स के प्रतिनिधित्व और कार्यान्वयन के विवरण में खोदेंगे:
हमने अपने पहले के ट्यूटोरियल्स में C ++ में सरणियाँ देखी हैं। एरे हमें विभिन्न प्रकार के डेटा तत्वों को घोषित करने की अनुमति देता है। जबकि सभी संख्यात्मक डेटा प्रकार के सरणियाँ संचालन और कार्यान्वयन में समान हैं, और स्ट्रिंग डेटा प्रकार के साथ सरणियाँ भिन्न हैं।
ब्लैकबॉक्स और व्हाइटबॉक्स परीक्षण के बीच अंतर
C ++ में, स्ट्रिंग को वर्णों की एक सरणी के रूप में या स्ट्रिंग क्लास का उपयोग करके दर्शाया जा सकता है जो C ++ द्वारा समर्थित है। प्रत्येक स्ट्रिंग या एरे तत्व को एक अशक्त चरित्र द्वारा समाप्त किया जाता है। वर्ण सरणी का उपयोग करते हुए तार का प्रतिनिधित्व सीधे directly C ’भाषा से लिया जाता है क्योंकि C में कोई स्ट्रिंग प्रकार नहीं है।
=> फ्री सी ++ कोर्स के लिए यहां क्लिक करें।
आप क्या सीखेंगे:
स्ट्रिंग एरे का कार्यान्वयन
C ++ में, स्ट्रिंग्स को तीन तरीकों का उपयोग करके दर्शाया जा सकता है।
- द्वि-आयामी वर्ण सरणी का उपयोग करना: यह प्रतिनिधित्व द्वि-आयामी सरणियों का उपयोग करता है जहां प्रत्येक तत्व एक पंक्ति और स्तंभ संख्या का प्रतिच्छेदन है और एक स्ट्रिंग का प्रतिनिधित्व करता है
- स्ट्रिंग कीवर्ड का उपयोग करना: स्ट्रिंग सरणियों को घोषित करने और परिभाषित करने के लिए हम C ++ के स्ट्रिंग कीवर्ड का भी उपयोग कर सकते हैं।
- एसटीएल क्षेत्र का उपयोग करना: हम एसटीएल वैक्टर का उपयोग कर सकते हैं जिसमें वेक्टर का प्रत्येक तत्व एक स्ट्रिंग है।
अब, उपरोक्त प्रत्येक विधियों पर चर्चा करें और प्रत्येक प्रतिनिधित्व के लिए प्रोग्रामिंग उदाहरण देखें।
द्वि-आयामी चरित्र सरणी का उपयोग करना
स्ट्रिंग सरणियों या तार की एक सरणी को दो-आयामी सरणियों के एक विशेष रूप का उपयोग करके दर्शाया जा सकता है। इस प्रतिनिधित्व में, हम एक स्ट्रिंग का प्रतिनिधित्व करने के लिए दो प्रकार के वर्णों का उपयोग करते हैं।
पहला आयाम तत्वों की संख्या को निर्दिष्ट करता है अर्थात् उस सरणी में तार और दूसरा आयाम सरणी में प्रत्येक तत्व की अधिकतम लंबाई को निर्दिष्ट करता है।
तो हम सामान्य प्रतिनिधित्व का उपयोग कर सकते हैं जैसा कि नीचे दिखाया गया है।
char “stringarrayname” (“number of strings”) (“maximum length of the string”)
उदाहरण के लिए,निम्नलिखित घोषणा पर विचार करें:
char string_array(10) (20);
उपरोक्त घोषणा में ar string_array ’नामक स्ट्रिंग की एक सरणी घोषित की गई है जिसमें 10 तत्व हैं और प्रत्येक तत्व की लंबाई 20 से अधिक नहीं है।
हम निम्नलिखित तरीके से तार का उपयोग करके जानवरों की एक सरणी की घोषणा और आरंभ कर सकते हैं:
char animals (5) (10) = {“Lion”, “Tiger”, “Deer”, “Ape”, “Kangaroo”};
आइए हम अवधारणा को बेहतर ढंग से समझने के लिए द्वि-आयामी चरित्र सरणियों की अवधारणा का उपयोग करके एक प्रोग्रामिंग उदाहरण देखें।
#include using namespace std; int main() { char strArray(5) (6) = {'one', 'two', 'three', 'four', 'five'}; cout<<'String array is as follows:'< आउटपुट:

उपरोक्त कार्यक्रम में, हमने प्रत्येक तत्व की अधिकतम लंबाई के साथ आकार 5 के strArray नामक स्ट्रिंग की एक सरणी घोषित की है। कार्यक्रम में, हम सरणी के प्रत्येक तत्व को प्रदर्शित करने के लिए लूप के लिए पहल करते हैं। ध्यान दें कि हमें तत्व प्रदर्शित करने के लिए पहले आयाम का उपयोग करके सरणी तक पहुंचने की आवश्यकता है।
तत्वों की आसान पहुंच 2-डी सरणियों के प्रमुख लाभों में से एक है। वे वास्तव में कार्यक्रम के लिए सरल हैं।
इस प्रकार के प्रतिनिधित्व का मुख्य दोष है, दोनों आयामों की सरणी अर्थात् तत्वों की संख्या और तत्व की अधिकतम लंबाई तय की जाती है और जैसा हम चाहते हैं, उसे बदला नहीं जा सकता है।
दूसरे, हम ऐरे की घोषणा के दौरान प्रत्येक तत्व की दूसरी लंबाई को दूसरे आयाम के रूप में निर्दिष्ट करते हैं। यदि स्ट्रिंग की लंबाई 100 के रूप में निर्दिष्ट की गई है, और हमारे पास सभी तत्व हैं जो लंबाई में कम हैं, तो मेमोरी बर्बाद हो गई है।
स्ट्रिंग कीवर्ड का उपयोग करना
इसमें, हम स्ट्रिंग का एक सरणी घोषित करने के लिए C ++ में कीवर्ड 'स्ट्रिंग' का उपयोग करते हैं। चरित्र सरणियों के विपरीत, यहां हमारे पास केवल 1D सरणी है। एकमात्र आयाम सरणी में तारों की संख्या को निर्दिष्ट करता है।
स्ट्रिंग कीवर्ड का उपयोग करके स्ट्रिंग घोषणा की एक सरणी के लिए सामान्य सिंटैक्स नीचे दिया गया है:
string “array name” (“number of strings”);
ध्यान दें कि हम यहां स्ट्रिंग की अधिकतम लंबाई निर्दिष्ट नहीं करते हैं। इसका मतलब यह है कि सरणी तत्वों की लंबाई पर कोई सीमा नहीं है।
एक उदाहरण के रूप में, हम निम्नलिखित तरीके से रंग नामों की एक सरणी की घोषणा कर सकते हैं।
string colors(5);
हम नीचे दिखाए गए अनुसार इस सरणी को और भी आरंभिक कर सकते हैं:
string colors(5) = {“Red”, “Green”, “Blue”, “Orange”, “Brown”};
नीचे दिए गए स्ट्रिंग कीवर्ड को समझने और स्ट्रिंग के एक उपयोग में समझने के लिए C ++ प्रोग्राम है।
#include using namespace std; int main() { string numArray(5) = {'one', 'two', 'three', 'four', 'five'}; cout<<'String array is as follows:'< आउटपुट:

हमने अपने पिछले चरित्र सरणी कार्यक्रम को संशोधित किया है और स्ट्रिंग कीवर्ड के उपयोग का प्रदर्शन किया है। कार्यक्रम का आउटपुट समान है लेकिन इसे प्राप्त करने का तरीका अलग है क्योंकि हम स्ट्रिंग कीवर्ड का उपयोग करके स्ट्रिंग की एक सरणी को परिभाषित करते हैं।
ध्यान दें कि स्ट्रिंग कीवर्ड का उपयोग करते हुए स्ट्रिंग के सरणी का एक फायदा है जिसमें हम सरणी में स्ट्रिंग्स की लंबाई पर कोई सीमा नहीं रखते हैं। चूंकि कोई सीमा नहीं है, इसलिए हम मेमोरी स्पेस को भी बर्बाद नहीं करते हैं।
नकारात्मक पक्ष पर, इस सरणी का एक निश्चित आकार होता है। हमें पहले से सरणी का आकार घोषित करना होगा।
एसटीएल वैक्टर का उपयोग करना
डायनेमिक सरणियों को घोषित करने और परिभाषित करने के लिए हम एसटीएल वैक्टर का भी उपयोग कर सकते हैं। इस प्रकार स्ट्रिंग के एक सरणी को परिभाषित करने के लिए हमारे पास एसटीएल वेक्टर प्रकार का स्ट्रिंग हो सकता है।
वेक्टर का उपयोग करके तारों की एक सरणी की यह घोषणा नीचे दी गई है:
vector “stringarray_Name”;
उपरोक्त घोषणा का हवाला देते हुए, हम एक वेक्टर 'विषयों' की घोषणा निम्न तरीके से कर सकते हैं:
vector mysubjects;
ध्यान दें कि हम 'पुश_बैक' विधि या किसी अन्य एसटीएल वेक्टर तरीकों का उपयोग करके वेक्टर को तत्व प्रदान कर सकते हैं।
नीचे दिए गए तार के एक सरणी का प्रतिनिधित्व करने के लिए STL वेक्टर के उपयोग को प्रदर्शित करने के लिए C ++ का उपयोग करके एक प्रोग्रामिंग उदाहरण दिया गया है।
#include #include using namespace std; int main() { vector myNumbers; myNumbers.push_back('one'); myNumbers.push_back('two'); myNumbers.push_back('three'); myNumbers.push_back('four'); myNumbers.push_back('five'); cout<<'String array is as follows:'< आउटपुट:

उपरोक्त कार्यक्रम में, हमारे पास एक एसटीएल वेक्टर है myNumbers of type स्ट्रिंग। अगला, हम पुश_बैक विधि का उपयोग करके इस वेक्टर में तत्वों को जोड़ते हैं और फिर वेक्टर के प्रत्येक तत्वों को प्रदर्शित करते हैं।
यदि हम STL वेक्टर के पूरे कामकाज और स्ट्रिंग के सरणी को देखते हैं, तो हम देखते हैं कि इस मामले में, हमारे पास सरणी में तत्वों की संख्या या प्रत्येक तत्व की अधिकतम लंबाई की सीमा नहीं है। हम देखते हैं कि वैक्टरों का उपयोग करते हुए तारों का सरणी पूरी तरह से गतिशील है और इसे गतिशील रूप से कम या बढ़ाया जा सकता है।
उपयोग करने के लिए प्रतिनिधित्व का चयन कैसे करें?
अब जब हमने स्ट्रिंग सरणियों के सभी तीन प्रतिनिधित्वों को देखा है, तो हम यह निष्कर्ष निकाल सकते हैं कि सभी तीन अभ्यावेदन में से, वेक्टर प्रतिनिधित्व सबसे अच्छा है क्योंकि यह प्रकृति में गतिशील है।
fig_cropper.swf कैसे खोलें
यह स्ट्रिंग सरणी के उद्देश्य और आवश्यकताओं पर निर्भर करता है। जब हमें आवश्यकता होती है कि हमें एक निश्चित आकार के स्ट्रिंग सरणी की आवश्यकता होती है और हम सटीक डेटा जानते हैं जो एक स्ट्रिंग सरणी में जाएगा, तो हम चरित्र सरणी या स्ट्रिंग प्रतिनिधित्व के लिए जा सकते हैं।
जब हम स्ट्रिंग सरणी को गतिशील रूप से विकसित या सिकुड़ना चाहते हैं, तो हम वेक्टर प्रतिनिधित्व का सहारा ले सकते हैं क्योंकि यह हमें सरणी को गतिशील रूप से बदलकर कार्यक्रमों को विकसित करने में मदद करेगा।
निष्कर्ष
स्ट्रिंग सरणियों विशेष सरणियों हैं जो तार के रूप में डेटा हैं। इसका मतलब यह है कि सरणी का प्रत्येक तत्व अशक्त वर्ण द्वारा समाप्त किया गया स्ट्रिंग है।
हमने एक स्ट्रिंग सरणी के तीन अभ्यावेदन के साथ उनके पेशेवरों और विपक्ष के बारे में विस्तार से चर्चा की है। हमारी आवश्यकताओं पर निर्भर करता है; हम स्ट्रिंग सरणी के किसी भी प्रतिनिधित्व का उपयोग कर सकते हैं जो हमारे कार्यान्वयन के अनुरूप है।
हमारे बाद के ट्यूटोरियल में, हम विस्तार से C ++ स्ट्रिंग्स और C ++ फ़ंक्शन की खोज जारी रखेंगे।
=> आसान सी ++ प्रशिक्षण श्रृंखला के माध्यम से पढ़ें।
अनुशंसित पाठ
- जावा सरणी कोड कोड के साथ लंबाई ट्यूटोरियल
- स्ट्रिंग स्ट्रिंग बफर और स्ट्रिंग बिल्डर ट्यूटोरियल के साथ जावा स्ट्रिंग
- सी # स्ट्रिंग ट्यूटोरियल - कोड उदाहरण के साथ स्ट्रिंग के तरीके
- पायथन स्ट्रिंग फ़ंक्शंस
- C ++ उदाहरणों के साथ आता है
- उदाहरणों में C ++ में स्ट्रिंग्स
- कोड उदाहरणों के साथ सी # रैंडम नंबर और सी # रैंडम स्ट्रिंग जेनरेटर
- उदाहरणों के साथ C ++ में ढेर छाँटें