שיעור 15: מחרוזות — מערך תווים ו-'\0'
אחרי שלמדנו מערכים, הגיע הזמן לגלות סוד: ל-C אין טיפוס 'מחרוזת' מיוחד. מחרוזת היא פשוט מערך תווים מסודר שמסתיים בתו המיוחד '\0' — ה-null terminator. לכן char name[] = "Dana"; תופס 5 תאים: ארבע אותיות ועוד תא אחד לסימן הסיום. נלמד להדפיס מחרוזת עם %s, לרוץ על התווים תו-תו עד שפוגשים את ה-'\0'
מחרוזת היא כמו רכבת של קרונות-אותיות, ובסוף תמיד מחובר קרון 'סיום' שקט — ה-'\0'. כל מי שעובר על הרכבת יודע לעצור בדיוק כשהוא פוגש את קרון הסיום.
- מחרוזת (מערך תווים)
- רצף תווים השמור במערך char, שמסתיים תמיד ב-'\0'.
- '\0' — תו הסיום
- תו מיוחד שערכו 0 ומסמן את סוף המחרוזת. בלעדיו אף פונקציה לא יודעת איפה לעצור.
- strlen(s)
- מחזירה את אורך המחרוזת — מספר התווים עד ה-'\0', בלי לספור אותו.
- strcpy(dest, src)
- מעתיקה את src אל dest, כולל ה-'\0'. צריך לוודא ש-dest גדול מספיק.
- strcmp(a, b)
- משווה שתי מחרוזות ומחזירה 0 דווקא כשהן שוות — מלכודת קלאסית בתנאי if.