Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

سلاسل C النصية - الجزء الثاني

جزء من قسم Fundamentals في رحلة C++ على Coddy — الدرس 68 من 74.

من المهم أن تتذكر أنه عندما تعلن عن سلسلة نصية بنمط C (C-style string) بحجم محدد، فإنك تحتاج إلى تخصيص مساحة كافية للأحرف التي تريد تخزينها، بالإضافة إلى مساحة إضافية واحدة لحرف النهاية الفارغ (null character).

على سبيل المثال:

// صحيح: "Hello" تحتاج إلى 6 مساحات
// (5 أحرف + '\0')
char str1[6] = "Hello";
// خطأ: المصفوفة صغيرة جداً!
// "Hello" تحتاج إلى 6 مساحات، ولكن تم توفير 5 فقط
char str2[5] = "Hello";
// خطأ: لن يتم التجميع - يوجد 5 خانات فقط لـ 6 أحرف ('H','e','l','l','o','\0')
// صحيح: المساحة الإضافية لا بأس بها
// مساحة أكثر من كافية (10 > 6 مطلوبة)
char str3[10] = "Hello";
// مثال يوضح عدد الأحرف:
char name[5] = "John";  // يحتاج إلى 5 مساحات:
// J + o + h + n + '\0' = 5 أحرف

يمكنك الوصول إلى الأحرف الفردية في سلسلة نصية بنمط C (C-style string) باستخدام تدوين المصفوفة:

char str[] = "Hello";
char first = str[0]; // 'H'
char third = str[2]; // 'l'

يمكنك أيضاً تعديل الأحرف في سلسلة نصية بنمط C، طالما أنك لا تتجاوز حدود المصفوفة:

char str[] = "Hello";
str[0] = 'J';
std::cout << str; // يطبع "Jello"

ومع ذلك، لا يمكنك تعيين سلسلة نصية جديدة مباشرة إلى سلسلة نصية بنمط C بعد التصريح عنها. ستحتاج إلى استخدام دوال مثل strcpy لنسخ السلاسل النصية، وهو ما سنغطيه في دروس لاحقة.

جرّب بنفسك

لا يتضمّن هذا الدرس تحدّيًا برمجيًا.

quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس Fundamentals