कॅरेक्टर अ‍ॅरे आणि स्ट्रिंग मधील फरक

लेखक: Laura McKinney
निर्मितीची तारीख: 1 एप्रिल 2021
अद्यतन तारीख: 6 मे 2024
Anonim
47 - स्ट्रिंग्स किंवा कॅरेक्टर अॅरे - सी प्रोग्रामिंग
व्हिडिओ: 47 - स्ट्रिंग्स किंवा कॅरेक्टर अॅरे - सी प्रोग्रामिंग

सामग्री


सी ++ दोघांनाही समर्थन देते, कॅरेक्टर अ‍ॅरे आणि स्ट्रिंग, कारण सी ++ चे दोन्ही उपयोगात सिंहाचा फायदा आहे. परंतु, कॅरेक्टर अ‍ॅरेवर कार्य करण्यास असमर्थता वर्ग स्ट्रिंगचा विकास वाढवते. दोन्ही अक्षरे अ‍ॅरे आणि स्ट्रिंगमध्ये वर्णांचा क्रम असतो. परंतु कॅरेक्टर अ‍ॅरे आणि स्ट्रिंगमधील मूलभूत फरक म्हणजे "कॅरेक्टर अ‍ॅरे" प्रमाणित ऑपरेटरद्वारे ऑपरेट करणे शक्य नाही, तर "स्ट्रिंग" ऑब्जेक्ट्स स्टँडर्ड ऑपरेटरद्वारे ऑपरेट करता येतात. कॅरेक्टर अ‍ॅरे आणि स्ट्रिंगमधील इतर फरकांचा अभ्यास करूया.

  1. तुलना चार्ट
  2. व्याख्या
  3. मुख्य फरक
  4. निष्कर्ष

तुलना चार्ट

तुलनासाठी आधारकॅरेक्टर अ‍ॅरेस्ट्रिंग
मूलभूतकॅरेक्टर अ‍ॅरे हे व्हेरिएबल्सचे, डेटा डेटा प्रकाराचे संग्रह आहे.स्ट्रिंग क्लास आहे आणि स्ट्रिंगचे व्हेरिएबल्स "स्ट्रिंग" क्लासचे ऑब्जेक्ट आहेत.
मांडणीचार अ‍ॅरे_नाव;स्ट्रिंग स्ट्रिंग_नाव;
अनुक्रमणिकाअ‍ॅरे मधील इंडेक्सद्वारे कॅरेक्टर अ‍ॅरे मधील स्वतंत्र कॅरेक्टरमध्ये प्रवेश केला जाऊ शकतो."स्ट्रिंग_नाव.कॅरएट (अनुक्रमणिका)" फंक्शनद्वारे विशिष्ट अक्षरावर प्रवेश केला जाऊ शकतो.
डेटा प्रकारएक वर्ण अ‍ॅरे डेटाटाइप परिभाषित करीत नाही.स्ट्रिंग सी ++ मध्ये डेटाटाइप परिभाषित करते.
ऑपरेटरसी ++ मधील ऑपरेटर कॅरेक्टर अ‍ॅरेवर लागू केले जाऊ शकत नाहीत.आपण स्ट्रिंगवर मानक सी ++ ऑपरेटर लागू करू शकता.
सीमाअ‍ॅरेच्या सीमा सहजपणे ओलांडल्या जातात.सीमा ओलांडणार नाहीत.
प्रवेशजलद प्रवेशहळू प्रवेश करणे.


कॅरेक्टर अ‍ॅरेची व्याख्या


कॅरेक्टर अ‍ॅरे म्हणजे “चार” डेटाॅटाइपच्या व्हेरिएबल्सचा संग्रह; हे एक-आयामी अ‍ॅरे किंवा द्विमितीय अ‍ॅरे असू शकते. त्याला “नल टर्मिनेटेड स्ट्रिंग” असेही म्हणतात. कॅरेक्टर अ‍ॅरे ही अक्षरे अनुक्रम असतात जी सलग मेमरी अ‍ॅड्रेसमध्ये संग्रहित केली जातात. एका कॅरेक्टर अ‍ॅरेमध्ये, त्याच्या निर्देशांकाद्वारे विशिष्ट वर्णात प्रवेश केला जाऊ शकतो. “नल कॅरेक्टर” कॅरेक्टर अ‍ॅरे बंद करते.

चला कॅरेक्टर अ‍ॅरेचे उदाहरण घेऊ:

चार नाव = {ए, जे, अ, वाय, 0}; किंवा चार नाव = "अजय";

येथे “char” एक कॅरेक्टर डेटा प्रकार आहे, “नेम” हे अर्रेचे व्हेरिएबल नाव आहे. कॅरेक्टर अ‍ॅरे सुरू करण्यासाठी मी दोन मार्ग दर्शविले होते. पहिल्या पद्धतीमध्ये शून्यचा स्पष्ट उल्लेख केला आहे आणि दुसर्‍या पद्धतीत कंपाईलर आपोआप शून्य घालतो.

स्ट्रिंगचा शेवट नेहमीच शून्य वर्ण असतो; हे अ‍ॅरे कॅरेक्टरचे टर्मिनेटिंग कॅरेक्टर आहे. कॅरेक्टर अ‍ॅरे हा अंगभूत डेटा प्रकार नाही; आपण हे घोषित करून कॅरेक्टर अ‍ॅरे तयार करतो. आपण कॅरेक्टर अ‍ॅरेवर मानक ऑपरेटर लागू करू शकत नाही. कॅरेक्टर अ‍ॅरेवर ऑपरेट करण्यासाठी काही बिल्ट-इन फंक्शन्स आहेत जसे की, (strlen (), strlwr (), strupr (), strcat ()). कॅरेक्टर अ‍ॅरेवर मानक ऑपरेटर लागू केले जाऊ शकत नाहीत म्हणून ते कोणत्याही अभिव्यक्तीमध्ये भाग घेऊ शकत नाहीत.


कॅरेक्टर अ‍ॅरे मध्ये कॅरेक्टर पॉईंटर देखील तयार केला जाऊ शकतो.

चला हे एका उदाहरणासह समजू या.

char s1 = "हॅलो"; char s2 = "सर"; एस 1 = एस 1 + एस 2; // एरर ऑपरेटर s2 = s1 लागू केले जाऊ शकत नाहीत; // एरर कॅरेक्टर पॉईंटर चार * s = "मॉर्निंग"; चार * पी; पी = एस; // चालवते

वरील उदाहरणात आम्ही दोन कॅरेक्टर अ‍ॅरे एस 1, एस 2 आणि दोन कॅरेक्टर पॉईंटर्स एस आणि पी घोषित केले होते. कॅरेक्टर अ‍ॅरे s1 आणि s2 इनिशियलाइज केले आहेत, आपण पाहु शकतो की कॅरेक्टर अ‍ॅरे वर कोणतेही अतिरिक्त ऑपरेटर (+) किंवा असाईनमेंट ऑपरेटर कार्य करत नाही. परंतु कॅरेक्टर पॉईंटर दुसर्‍या कॅरेक्टर पॉईंटरला नेमला जाऊ शकतो.

एकदा लक्षात ठेवा की अ‍ॅरे एकदा आरंभ झाला की पुन्हा अक्षराच्या सेटमध्ये तो आरंभ केला जाऊ शकत नाही. सी ++ मधील स्ट्रिंगच्या तुलनेत कॅरेक्टर अ‍ॅरे किंवा नल टर्मिनेटेड स्ट्रिंगमध्ये प्रवेश जलद आहे.

स्ट्रिंग व्याख्या

स्ट्रिंग हा C ++ चा बिल्ट-इन डेटा प्रकार नाही. हे "स्ट्रिंग" प्रकाराचे क्लास ऑब्जेक्ट आहे. जसे C ++ मध्ये क्लास बनवणे म्हणजेच “टाइप” तयार करणे. वर्ग "स्ट्रिंग" हा C ++ लायब्ररीचा एक भाग आहे. यात संपूर्णपणे कॅरेक्टर किंवा कॅरेक्टर अ‍ॅरेचा सेट आहे. मानक स्ट्रिंग वर्गाच्या विकासामागे तीन कारणे आहेत.

  • पहिला “सुसंगतता” आहे, वर्ण अ‍ॅरे त्यांच्या स्वतःच्या डेटा प्रकाराचे नाहीत.
  • सेकंद ही “सुविधा” आहे, आपण कॅरेक्टर अ‍ॅरेवर मानक ऑपरेटर वापरू शकत नाही.
  • तिसऱ्या म्हणजे “सुरक्षा”, अ‍ॅरेच्या सीमा सहज ओलांडल्या जातात.

उदाहरणासह तार समजून घेऊ.

स्ट्रिंग एस 1; s1 = "हॅलो"; स्ट्रिंग एस 2 ("सुप्रभात"); स्ट्रिंग एस 3 = "हेनरी"; स्ट्रिंग एस 4;

वरील घोषणेमध्ये, चार स्ट्रिंग व्हेरिएबल किंवा ऑब्जेक्ट्स (एस 1, एस 2, एस 3, एस 4) घोषित केले आहेत. वरील घोषणेमध्ये, मी स्ट्रिंग आरंभ करण्याचे तीन मार्ग दर्शविले होते. स्ट्रिंग एस 1 घोषित केली जाते आणि नंतर स्वतंत्रपणे आरंभ केला जातो. स्ट्रिंग एस 2 ची सुरूवात “स्ट्रिंग” क्लासच्या कंस्ट्रक्टरद्वारे केली आहे. स्ट्रिंग एस 3 सामान्य डेटा प्रकार प्रमाणेच घोषित होताना प्रारंभ केली जाते. आपण स्ट्रिंग व्हेरिएबल्सवर स्टँडर्ड ऑपरेटर लागू करू शकतो.

s4 = s1; // एका स्ट्रिंग ऑब्जेक्टला अन्य s4 = s1 + s2 नियुक्त करणे; // दोन स्ट्रिंग जोडणे आणि तिसर्‍या स्ट्रिंगमध्ये परिणाम संचयित करणे (एस 3> एस 2) // दोन स्ट्रिंग्स एस 5 (एस 1) ची तुलना केल्यास; विद्यमान स्ट्रिंग ऑब्जेक्ट वापरुन नवीन स्ट्रिंग ऑब्जेक्ट तयार करणे

वरील कोडमध्ये, विविध ऑपरेटर स्ट्रिंगवर लागू केले जातात आणि विविध ऑपरेशन्स केल्या जातात. पहिले विधान एका स्ट्रिंग ऑब्जेक्टला दुसर्‍या स्ट्रिंग ऑब्जेक्टमध्ये कॉपी करते. दुसर्‍या विधानात दोन स्ट्रिंग्स एकत्रित केल्या जातात आणि तिसर्‍या स्ट्रिंगमध्ये संग्रहित केल्या जातात. तिसर्‍या विधानात दोन स्ट्रिंगची तुलना केली जाते. चौथ्या स्टेटमेंटमध्ये आधीपासून अस्तित्त्वात असलेल्या स्ट्रिंग ऑब्जेक्टचा वापर करून एक नवीन स्ट्रिंग ऑब्जेक्ट तयार होईल.

कॅरेक्टर अ‍ॅरे किंवा नल टर्मिनेटेड स्ट्रिंगच्या तुलनेत स्ट्रिंगमध्ये प्रवेश कमी असतो.

कॅरेक्टर अ‍ॅरे आणि स्ट्रिंग मधील मुख्य फरक

  1. कॅरेक्टर अ‍ॅरे म्हणजे व्हेरिएबल्सचा संग्रह जो कॅरेक्टर डेटाटाइपचा असतो. स्ट्रिंग हा एक वर्ग आहे जो स्ट्रिंग घोषित करण्यासाठी त्वरित स्थापित केला जातो.
  2. अनुक्रमणिका मूल्य वापरुन आपण वर्ण अ‍ॅरेमधून एखाद्या वर्णात प्रवेश करू शकता. दुसरीकडे, जर आपल्याला एखाद्या स्ट्रिंगमधील एखाद्या विशिष्ट वर्णात प्रवेश करायचा असेल तर आपण त्यात फंक्शन स्ट्रिंगच्या_नामनाम .harAt (अनुक्रमणिका) द्वारे प्रवेश करू शकता.
  3. अ‍ॅरे हा डेटाटाइप नसल्यामुळे कॅरेक्टरही डेटाटाइप नसतो. दुसरीकडे, स्ट्रिंग हा एक संदर्भ प्रकार म्हणून एक वर्ग कार्य असल्यामुळे, असे म्हटले जाऊ शकते की स्ट्रिंग एक डेटा प्रकार आहे.
  4. कॅरेक्टर अ‍ॅरेवर आपण कोणताही ऑपरेटर लागू करू शकत नाही तर स्ट्रिंगवर ऑपरेटर लागू करू शकता.
  5. अ‍ॅरे कॅरेक्टर अ‍ॅरे असणे निश्चित लांबी असते आणि त्याच्या सीमा सहज ओलांडल्या जाऊ शकतात. जिथे स्ट्रिंगला काही सीमा नसतात.
  6. अ‍ॅरे घटक एका संक्षिप्त मेमरी ठिकाणी संग्रहित केले जातात ज्यामुळे स्ट्रिंग व्हेरिएबलपेक्षा वेगवान प्रवेश केला जाऊ शकतो.

निष्कर्ष:

कॅरेक्टर अ‍ॅरेवर कार्य करण्यास असमर्थतेने मानक स्ट्रिंग वर्गाचा विकास वाढविला.