תכנות — שיעור 106 21/Januray/2010    

מחרוזות

המשכנו לדון במחרוזות.

ב-C מסמנים מחרוזות קבועות על ידי מרכאות כפולות. ואותיות בודדות על-ידי גרש אחד משני צידי האות. הערך (הפנימי) של אות הוא אוסף ביטים בקידוד מסוים. בדרך כלל קידוד ASCII של 8 ביטים. הערך של מחרוזות הוא הכתובת בזכרון (התכנית שרצה במחשב), של האות הראשונה של המחרוזת. שאר האותיות (כולל אות '\0' (null) סוף-המחרוזת) מופיעות בצמוד אחרי האות הראשונה בכתובות זכרון עוקבות.

לדוגמא אם יש שני משתנים שמצביעים על מחרוזות:

char *s1;
char *s2;
/* ... assign strings to  s1 and s2 */
if (s1 == s2) {
   ...
}
אז בדיקת השויון איננה בודקת אם המחרוזות שוות, אלא משוה בין הכתובות של המחרוזות.


תרגילים

  1. השלם ותקן תרגילים קודמים.
  2. הורד, הרץ והשלם את התכנית streq.c לפי ההערות שבתוכה.

חזרה לעמוד האם