דוד י מלאן: בואו לכתוב תכנית שמבקש מהמשתמש מחרוזת ו לאחר מכן להמשיך להדפיס מחרוזת ש תווים של תו אחד בכל שורה. עכשיו בעבר, היינו עושה כל כך כנראה עם סימון סוגר מרובע, ביעילות טיפול במחרוזת הוא מערך של תווים. אבל הפעם, בואו במקום לטפל מחרוזת עבור מה שהיא באמת, מצביע או כתובת. באופן ספציפי, את הכתובת של אופי, באמת הכתובת של תו ראשון, ברצף של דמויות שאנו מכירים באופן קולקטיבי כמחרוזת. בואו נכריז על מחרוזת ראשונה עבור מה שהוא באמת, char *. ואנחנו קוראים לזה. ולאחר מכן להקצות את התמורה ערך של מחרוזת גט. בואו הבא לעשות קצת בדיקת שגיאות. אם ים הוא ריק, בואו מייד לחזור כדי שלא בטעות dereference שמצביע null. בשלב הבא, בואו לחזר על דמויות בים באופן הבא. עבור int, אני מקבל 0. n שווה אורך המחרוזת של s. האם כל עוד אני הוא פחות מ n זה. ועל כל איטרציה, להגדיל i. ומה שאנחנו רוצים לעשות בכל איטרציה? בואו עכשיו להדפיס על כל איטרציה תו בודד ואחריו בשורה חדשה. ובכן, מה דמות עושה אנחנו רוצים להדפיס? אני מציע שנלך לכתובת כי שווה לסכום של תוספת i. עכשיו, למה ביטוי זה? ובכן, זוכר שמאוחסנים בים הוא כתובת של התו הראשון במחרוזת שלנו, זה. בינתיים, אני הוא להיות מוגדל על כל איטרציה כך שהוא מתחיל ב 0, אז הולך ל1, ולאחר מכן הולך ל2. אז במילים, של השני בתוספת i ביעילות מייצג את הכתובת של אופי i-th בים. אז אם אנחנו הולכים לכתובת זו בדרך של המפעיל *, נהיה הולך אופי i-th במחרוזת. וזה הערך שיהיה החליף את המיקום שלנו, ג אחוז בואו לאשר באותה מידה. בואו להציל, לקמפל, ו להפעיל את התכנית. הפוך מצביעים, מצביעי לוכסן נקודה. ועכשיו אני אתן לו מחרוזת כמו שלום. Enter. ואכן, אני רואה H-E-L-L-O, עם כל תו בשורה הנפרדת.