1 00:00:00,000 --> 00:00:00,620 2 00:00:00,620 --> 00:00:03,140 >> דוד י מלאן: בואו לכתוב תכנית שמבקש מהמשתמש מחרוזת ו 3 00:00:03,140 --> 00:00:07,210 לאחר מכן להמשיך להדפיס מחרוזת ש תווים של תו אחד בכל שורה. 4 00:00:07,210 --> 00:00:10,570 עכשיו בעבר, היינו עושה כל כך כנראה עם סימון סוגר מרובע, 5 00:00:10,570 --> 00:00:13,680 ביעילות טיפול במחרוזת הוא מערך של תווים. 6 00:00:13,680 --> 00:00:17,200 >> אבל הפעם, בואו במקום לטפל מחרוזת עבור מה שהיא באמת, 7 00:00:17,200 --> 00:00:18,770 מצביע או כתובת. 8 00:00:18,770 --> 00:00:22,420 באופן ספציפי, את הכתובת של אופי, באמת הכתובת של 9 00:00:22,420 --> 00:00:25,740 תו ראשון, ברצף של דמויות שאנו מכירים באופן קולקטיבי 10 00:00:25,740 --> 00:00:26,860 כמחרוזת. 11 00:00:26,860 --> 00:00:30,740 >> בואו נכריז על מחרוזת ראשונה עבור מה שהוא באמת, char *. 12 00:00:30,740 --> 00:00:31,770 ואנחנו קוראים לזה. 13 00:00:31,770 --> 00:00:34,670 ולאחר מכן להקצות את התמורה ערך של מחרוזת גט. 14 00:00:34,670 --> 00:00:36,380 >> בואו הבא לעשות קצת בדיקת שגיאות. 15 00:00:36,380 --> 00:00:42,920 אם ים הוא ריק, בואו מייד לחזור כדי שלא בטעות 16 00:00:42,920 --> 00:00:45,630 dereference שמצביע null. 17 00:00:45,630 --> 00:00:49,750 >> בשלב הבא, בואו לחזר על דמויות בים באופן הבא. 18 00:00:49,750 --> 00:00:52,390 עבור int, אני מקבל 0. 19 00:00:52,390 --> 00:00:55,890 n שווה אורך המחרוזת של s. 20 00:00:55,890 --> 00:00:58,050 האם כל עוד אני הוא פחות מ n זה. 21 00:00:58,050 --> 00:01:00,690 ועל כל איטרציה, להגדיל i. 22 00:01:00,690 --> 00:01:02,710 >> ומה שאנחנו רוצים לעשות בכל איטרציה? 23 00:01:02,710 --> 00:01:06,180 בואו עכשיו להדפיס על כל איטרציה תו בודד 24 00:01:06,180 --> 00:01:07,910 ואחריו בשורה חדשה. 25 00:01:07,910 --> 00:01:10,010 ובכן, מה דמות עושה אנחנו רוצים להדפיס? 26 00:01:10,010 --> 00:01:16,850 אני מציע שנלך לכתובת כי שווה לסכום של תוספת i. 27 00:01:16,850 --> 00:01:18,390 >> עכשיו, למה ביטוי זה? 28 00:01:18,390 --> 00:01:22,130 ובכן, זוכר שמאוחסנים בים הוא כתובת של התו הראשון 29 00:01:22,130 --> 00:01:23,490 במחרוזת שלנו, זה. 30 00:01:23,490 --> 00:01:27,470 בינתיים, אני הוא להיות מוגדל על כל איטרציה כך שהוא מתחיל ב 0, 31 00:01:27,470 --> 00:01:29,590 אז הולך ל1, ולאחר מכן הולך ל2. 32 00:01:29,590 --> 00:01:33,870 >> אז במילים, של השני בתוספת i ביעילות מייצג את הכתובת של 33 00:01:33,870 --> 00:01:35,990 אופי i-th בים. 34 00:01:35,990 --> 00:01:40,830 אז אם אנחנו הולכים לכתובת זו בדרך של המפעיל *, נהיה הולך 35 00:01:40,830 --> 00:01:42,650 אופי i-th במחרוזת. 36 00:01:42,650 --> 00:01:45,700 וזה הערך שיהיה החליף את המיקום שלנו, 37 00:01:45,700 --> 00:01:46,840 ג אחוז 38 00:01:46,840 --> 00:01:47,840 >> בואו לאשר באותה מידה. 39 00:01:47,840 --> 00:01:51,720 בואו להציל, לקמפל, ו להפעיל את התכנית. 40 00:01:51,720 --> 00:01:55,990 הפוך מצביעים, מצביעי לוכסן נקודה. 41 00:01:55,990 --> 00:01:58,780 ועכשיו אני אתן לו מחרוזת כמו שלום. 42 00:01:58,780 --> 00:01:59,600 Enter. 43 00:01:59,600 --> 00:02:03,770 >> ואכן, אני רואה H-E-L-L-O, עם כל תו בשורה הנפרדת. 44 00:02:03,770 --> 00:02:05,410