الفرق بين صفيف الشخصية والسلسلة

مؤلف: Laura McKinney
تاريخ الخلق: 1 أبريل 2021
تاريخ التحديث: 5 قد 2024
Anonim
الجينوم البشري ـ الجزء الثاني ـ صفيف DNA الدقيق
فيديو: الجينوم البشري ـ الجزء الثاني ـ صفيف DNA الدقيق

المحتوى


C ++ يدعم كلا ، مجموعة الأحرف والسلسلة، كما C ++ له فوائد كبيرة في استخدام كل منهما. ولكن ، عدم القدرة على العمل على مجموعة أحرف يثير تطوير سلسلة فئة. يحتوي كل من مجموعة الحروف والسلسلة على تسلسل الحروف. لكن الفرق الأساسي بين مجموعة الأحرف والسلسلة هو أن "مجموعة الأحرف" لا يمكن تشغيلها مع المشغلين القياسيين ، في حين أن "سلسلة" الكائنات يمكن تشغيلها مع مشغلي قياسي. دعنا ندرس الاختلافات الأخرى بين مجموعة الحروف والسلسلة.

  1. رسم بياني للمقارنة
  2. تعريف
  3. الاختلافات الرئيسية
  4. خاتمة

رسم بياني للمقارنة

أساس للمقارنةصفيف الشخصيةخيط
الأساسيصفيف الأحرف هو مجموعة من المتغيرات ونوع بيانات الحرف.السلسلة عبارة عن فئة ومتغيرات السلسلة هي كائن الفئة "سلسلة".
بناء الجملةchar array_name؛string string_name؛
الفهرسةيمكن الوصول إلى الحرف الفردي في صفيف الأحرف بواسطة فهرسه في الصفيف.في السلسلة ، يمكن الوصول إلى الحرف المعين بواسطة الدالة "string_name.charAt (index)".
نوع البياناتلا يحدد صفيف الأحرف نوع البيانات.تعرّف السلسلة نوع البيانات في C ++.
العاملينلا يمكن تطبيق عوامل التشغيل في C ++ على صفيف الأحرف.يمكنك تطبيق مشغل C ++ القياسي على السلسلة.
حدوديتم تجاوز حدود الصفيف بسهولة.لن يتم تجاوز الحدود.
التمكن منالوصول السريع.الوصول البطيء.


تعريف صفيف الشخصية


صفيف الأحرف هو مجموعة من متغيرات نوع البيانات "char" ؛ يمكن أن يكون صفيف أحادي البعد أو صفيف ثنائي الأبعاد. وتسمى أيضا "سلسلة منتهية فارغة". صفيف الأحرف هو سلسلة من الأحرف المخزنة في عناوين الذاكرة المتتالية. في صفيف الأحرف ، يمكن الوصول إلى حرف معين بواسطة الفهرس الخاص به. "حرف فارغة" إنهاء صفيف الأحرف ".

دعنا نأخذ مثالا على مجموعة الأحرف: -

char name = {A، j، a، y، 0}؛ أو اسم char = "Ajay" ؛

هنا ، "char" هو نوع بيانات الأحرف ، "name" هو اسم متغير لصفيف الأحرف. كنت قد أظهرت طريقتين لتهيئة مجموعة الأحرف. في الطريقة الأولى ، يتم ذكر فارغة بشكل صريح وفي الطريقة الثانية ، يقوم المترجم تلقائيًا بإدراج القيمة الخالية.

نهاية السلسلة هي دائما حرف فارغ. هذا هو حرف إنهاء صفيف الأحرف. صفيف الأحرف ليس نوع بيانات مضمن؛ نخلق مجموعة الأحرف من خلال الإعلان عنها. لا يمكنك تطبيق عوامل التشغيل القياسية على مجموعة أحرف. للعمل على صفيف الأحرف ، هناك بعض الوظائف المدمجة مثل (strlen () ، strlwr () ، strupr () ، strcat ()). نظرًا لأنه لا يمكن تطبيق عوامل التشغيل القياسية على صفيف أحرف ، لا يمكنهم المشاركة في أي تعبير.


يمكن أيضًا إنشاء مؤشر الأحرف إلى صفيف الأحرف.

دعنا نفهم ذلك بمثال.

char s1 = "Hello"؛ char s2 = "سيدي" ؛ s1 = s1 + s2 ؛ // لا يمكن تطبيق عوامل الخطأ s2 = s1؛ // error Character pointer char * s = "Morning"؛ شار * ع ؛ ص = ق. // ينفذ

في المثال أعلاه ، أعلنا صفيفين للحرف s1 و s2 ومؤشرين للحرف s و p. تتم تهيئة صفيف الأحرف s1 و s2 ، يمكننا أن نرى أنه لا يوجد عامل إضافة (+) أو عامل التعيين يعمل على صفيف الأحرف. ولكن يمكن تعيين مؤشر حرف إلى مؤشر حرف آخر.

تذكر بمجرد تهيئة مجموعة الحروف ، لا يمكن تهيئتها مرة أخرى لمجموعة أخرى من الحروف. يكون الوصول إلى صفيف أحرف أو سلسلة منتهية بقيمة خالية سريعًا مقارنة بالسلسلة في C ++.

تعريف السلسلة

السلسلة ليست نوع بيانات مضمن لـ C ++. انها كائن فئة من نوع "سلسلة". كما هو الحال في C ++ ، فإن إنشاء فصل هو تمامًا مثل إنشاء "كتابة". فئة "السلسلة" جزء من مكتبة C ++. انها تحمل مجموعة من الحرف أو مجموعة الأحرف ككل. هناك ثلاثة أسباب وراء تطوير فئة سلسلة قياسية.

  • أول هو "الاتساق" ، صفائف الأحرف ليست أنواع البيانات في حد ذاتها.
  • ثانيا هو "الراحة" ، لا يمكنك استخدام عوامل التشغيل القياسية على مجموعة الأحرف.
  • الثالث هو "السلامة" ، يتم تجاوز حدود مجموعة بسهولة.

دعونا نفهم السلاسل مع مثال.

سلسلة s1. s1 = "مرحبًا" ؛ السلسلة s2 ("صباح الخير") ؛ السلسلة s3 = "هينري" ؛ سلسلة s4.

في الإعلان أعلاه ، يتم الإعلان عن متغير أو سلسلة أربعة سلاسل (s1 ، s2 ، s3 ، s4). في الإعلان أعلاه ، لقد عرضت ثلاث طرق لتهيئة السلسلة. يتم تعريف السلسلة s1 ومن ثم تهيئة بشكل منفصل. تتم تهيئة السلسلة s2 بواسطة مُنشئ الفئة "سلسلة". تتم تهيئة السلسلة s3 في وقت إعلانها كما يفعل نوع البيانات العادي. يمكننا تطبيق عامل التشغيل القياسي على متغيرات السلسلة.

s4 = s1 ؛ // تعيين كائن سلسلة واحدة إلى الآخر s4 = s1 + s2 ؛ // إضافة سلسلتين وتخزين النتيجة في السلسلة الثالثة إذا (s3> s2) // مقارنة سلسلتين سلاسل s5 (s1) ؛ إنشاء كائن سلسلة جديد باستخدام كائن سلسلة موجود

في الكود أعلاه ، يتم تطبيق العديد من العوامل على سلسلة ويتم تنفيذ عمليات مختلفة. العبارة الأولى بنسخ كائن سلسلة واحدة إلى كائن سلسلة أخرى. في العبارة الثانية ، يتم ربط سلسلة اثنين وتخزينها في سلسلة ثالثة. في البيان الثالث ، تتم مقارنة سلسلة اثنين. في البيان الرابع ، يتم إنشاء كائن سلسلة جديد باستخدام كائن سلسلة موجود بالفعل.

يكون الوصول إلى السلسلة بطيئًا مقارنةً بمصفوفة أحرف أو سلسلة فارغة منتهية.

الاختلافات الرئيسية بين مجموعة الأحرف والسلسلة

  1. صفيف الأحرف هو مجموعة من المتغيرات ذات نوع بيانات الحرف. السلسلة عبارة عن فئة يتم إنشاء مثيل لها لإعلان الجمل.
  2. باستخدام قيمة الفهرس ، يمكنك الوصول إلى حرف من صفيف أحرف. من ناحية أخرى ، إذا كنت ترغب في الوصول إلى حرف معين في سلسلة ، فيمكنك الوصول إليه من خلال سلسلة دالة’s_name.charAt (فهرس).
  3. نظرًا لأن الصفيف ليس نوع بيانات بالمثل ، فإن الحرف أيضًا ليس نوع بيانات. من ناحية أخرى ، سلسلة كونها الفصل الدراسي بمثابة نوع مرجعي وبالتالي ، يمكن القول أن سلسلة هو نوع البيانات.
  4. لا يمكنك تطبيق أي عامل على مجموعة أحرف ، في حين يمكنك تطبيق العوامل على String.
  5. كون صفيف أحرف الصفيف له طول ثابت ويمكن تجاوز حدوده بسهولة. حيث ليس لدى String أي حدود.
  6. يتم تخزين عناصر الصفيف في موقع ذاكرة متجاورة ، وبالتالي يمكن الوصول إليها بشكل أسرع من متغير السلسلة.

خاتمة:

أثار عدم القدرة على العمل على مجموعة الأحرف تطوير فئة السلسلة القياسية.