الدرس 15: السلاسل النصية — مصفوفة char و'\0'
بعد أن تعلّمنا المصفوفات، حان وقت سرٍّ صغير: لا يوجد في C نوع 'string' خاص. السلسلة النصية هي ببساطة مصفوفة مرتّبة من الرموز (chars) تنتهي بالرمز الخاص '\0' — وهو الـ null terminator. لهذا فإن char name[] = "Dana"; يشغل 5 خلايا: أربعة أحرف زائد خلية واحدة لعلامة النهاية. سنتعلّم طباعة سلسلة نصية باس
السلسلة النصية تشبه قطارًا من عربات-الحروف، وفي النهاية تُوصَل دائمًا عربة 'نهاية' هادئة — هي '\0'. وكل من يسير على طول القطار يعرف أن يتوقّف بالضبط حين يصل إلى عربة النهاية.
- سلسلة نصية (مصفوفة char)
- تسلسل من الرموز مخزّن في مصفوفة char، وينتهي دائمًا بـ '\0'.
- '\0' — رمز النهاية (null terminator)
- رمز خاص قيمته 0 يشير إلى نهاية السلسلة النصية. من دونه لا تعرف أي دالة أين تتوقّف.
- strlen(s)
- تُرجع طول السلسلة النصية — عدد الرموز حتى '\0'، من دون احتسابه.
- strcpy(dest, src)
- تنسخ src إلى dest، بما في ذلك '\0'. عليك التأكد من أن dest كبير بما يكفي.
- strcmp(a, b)
- تقارن سلسلتين نصيتين وتُرجع 0 بالضبط حين تكونان متساويتين — فخّ كلاسيكي في شروط if.