1 00:00:00,000 --> 00:00:00,440 2 00:00:00,440 --> 00:00:00,860 >> ลำโพง 1: สิทธิทั้งหมด 3 00:00:00,860 --> 00:00:03,260 ว่าโปรแกรมสุดท้ายคือน่าเบื่อเล็กน้อย 4 00:00:03,260 --> 00:00:05,510 ลองไปข้างหน้าและปรับแต่ง นี้นิด ๆ หน่อย ๆ 5 00:00:05,510 --> 00:00:07,710 มากกว่าที่จะกล่าวทักทายโลก ทำไมเราไม่ไปข้างหน้า 6 00:00:07,710 --> 00:00:09,680 และพูดว่าสวัสดีดาวิด 7 00:00:09,680 --> 00:00:12,500 ดีที่จะทำเช่นนี้ฉันจะเข้าใกล้ นี้ในสองวิธี 8 00:00:12,500 --> 00:00:15,760 ฉันสามารถของหลักสูตรรหัสยากเพียงแค่ เดวิด แต่ที่ไม่ได้ทั้งหมดที่ 9 00:00:15,760 --> 00:00:17,650 ที่แตกต่างกัน จากรุ่นที่ผ่านมา 10 00:00:17,650 --> 00:00:21,430 ดังนั้นลองมากระโดดไปข้างหน้าว่ายกเลิก เปลี่ยนและแทนที่จะใส่ใหม่ 11 00:00:21,430 --> 00:00:23,980 บรรทัดของรหัสที่เส้นห้าเคยเป็น 12 00:00:23,980 --> 00:00:28,970 >> โดยเฉพาะสิ่งที่ฉันจะทำที่นี่ คือการเพิ่มในชื่อสตริงจึง 13 00:00:28,970 --> 00:00:30,920 ประกาศตัวแปร 14 00:00:30,920 --> 00:00:34,240 ขอให้สังเกตว่าใน C ไม่เพียง แต่คุณมี เพื่อให้ตัวแปรชื่อซึ่ง 15 00:00:34,240 --> 00:00:38,110 กรณีนี้เป็นชื่อที่คุณยังมี เพื่อระบุชนิดเป็น 16 00:00:38,110 --> 00:00:41,970 เราจะเห็นประเภทอื่น ๆ ไม่นานในหมู่ จำนวนเต็มและทศนิยม 17 00:00:41,970 --> 00:00:46,480 ค่านิยมและมากขึ้น แต่สำหรับตอนนี้สตริง เป็นเพียงคำหรือวลีที่มากขึ้น 18 00:00:46,480 --> 00:00:49,340 อย่างเป็นทางการลำดับของศูนย์ ตัวอักษรหรือมากกว่า 19 00:00:49,340 --> 00:00:53,760 ดังนั้นในขณะที่บรรทัดนี้ห้า บอกว่าให้ฉันตัวแปรที่เรียกว่าชื่อ 20 00:00:53,760 --> 00:00:56,560 ที่มีชนิดข้อมูลเป็นสตริง 21 00:00:56,560 --> 00:01:00,460 >> ตอนนี้ผมต้องการที่จะเก็บค่าในนั้น และที่จะทำใน C เราจะใช้เท่ากับ 22 00:01:00,460 --> 00:01:03,030 เข้าสู่ระบบหรือที่เรียกว่า ผู้ประกอบการที่ได้รับมอบหมาย 23 00:01:03,030 --> 00:01:04,860 ดังนั้นฉันจะดำเนินการดังนี้ 24 00:01:04,860 --> 00:01:10,220 เท่ากับอ้างนำมาอ้าง, D--V-ฉัน-D อ้างปิดอัฒภาค 25 00:01:10,220 --> 00:01:15,595 ผลสุทธิในบรรทัดที่ห้าตอนนี้คือการ ประกาศสตริง, D--V-I-D, การจัดเก็บ 26 00:01:15,595 --> 00:01:19,480 มันออกมาจากทางด้านขวามือนี้ การแสดงออกเป็นตัวแปรใน 27 00:01:19,480 --> 00:01:21,480 ด้านซ้ายมือของการแสดงออกนี้ 28 00:01:21,480 --> 00:01:25,970 ดังนั้นโดยจุดสิ้นสุดของบรรทัดนี้เรามี D--V-I-D เก็บไว้ภายในของตัวแปร 29 00:01:25,970 --> 00:01:27,450 เรียกชื่อ 30 00:01:27,450 --> 00:01:28,910 >> ตอนนี้ขอใช้ตัวแปรนี้ 31 00:01:28,910 --> 00:01:35,010 ในบรรทัดที่หกผมจะไปแทนที่ โลกที่มีตัวยึด 32 00:01:35,010 --> 00:01:39,960 % S ถูกกำหนดให้เป็นไปตาม เอกสารสำหรับ printf ในฐานะที่เป็น 33 00:01:39,960 --> 00:01:41,690 ตัวยึดสำหรับสตริง 34 00:01:41,690 --> 00:01:44,620 ในคำอื่น ๆ มันเป็นวิธีของการแจ้ง printf ที่ฉันจะใส่ 35 00:01:44,620 --> 00:01:47,930 บางค่าอื่น ๆ ที่นี่ แต่ให้ฉัน บอกคุณในช่วงเวลาเพียงแค่สิ่งที่ 36 00:01:47,930 --> 00:01:49,180 มันเป็นไปได้ 37 00:01:49,180 --> 00:01:52,800 ตอนนี้ฉันจะดำเนินการต่อไปที่จะบอก printf สิ่งที่มีค่าที่จะเป็นอย่างไร 38 00:01:52,800 --> 00:01:56,850 >> ดีฉันต้องให้ printf ด้วย อาร์กิวเมนต์ที่สองและที่จะทำผม 39 00:01:56,850 --> 00:02:00,460 จำเป็นต้องใส่เครื่องหมายจุลภาคหลังจากที่ครั้งแรกดังกล่าว อาร์กิวเมนต์ซึ่งได้รับการยกมานี้ 40 00:02:00,460 --> 00:02:04,990 สตริงและจากนั้นฉันจะต้องระบุสิ่งที่ ค่าที่ฉันต้องการที่จะเสียบเข้าที่ 41 00:02:04,990 --> 00:02:07,010 ตัวยึดอาร์กิวเมนต์แรกของ 42 00:02:07,010 --> 00:02:10,880 ดังนั้นชื่อของตัวแปรของฉันเป็นของ แน่นอนชื่อดังนั้นจึงพอเพียงที่จะพิมพ์ 43 00:02:10,880 --> 00:02:14,000 "ชื่อ" เป็นครั้งที่สอง อาร์กิวเมนต์ printf 44 00:02:14,000 --> 00:02:15,070 ตอนนี้ไม่ได้คิดผิด 45 00:02:15,070 --> 00:02:20,440 ถึงแม้ว่าจะมีจุลภาคภายใน สายยกที่เป็นจริง 46 00:02:20,440 --> 00:02:24,370 ภายในของสตริงเพื่อให้มันไม่ได้ แยกอาร์กิวเมนต์หนึ่งจากอีก 47 00:02:24,370 --> 00:02:28,740 เพียงจุลภาคที่ด้านนอกของที่นี้ สายยกจริงแยก 48 00:02:28,740 --> 00:02:31,700 อาร์กิวเมนต์แรก printf จาก อาร์กิวเมนต์ที่สองของ 49 00:02:31,700 --> 00:02:34,270 >> ตอนนี้ขอรวบรวมโปรแกรมนี้ 50 00:02:34,270 --> 00:02:36,500 ทำให้สวัสดีหนึ่ง 51 00:02:36,500 --> 00:02:39,570 โอ้ความดีของฉันห้าข้อผิดพลาดที่สร้าง และโปรแกรมของฉัน 52 00:02:39,570 --> 00:02:41,100 เพียงเจ็ดเส้นยาว 53 00:02:41,100 --> 00:02:44,720 ดีเช่นเคยไม่ได้ดูที่ผ่านมา ข้อผิดพลาดบนหน้าจอของคุณ 54 00:02:44,720 --> 00:02:47,960 ดูที่แรกเพราะบางที มีเหตุมีผลซ้อน 55 00:02:47,960 --> 00:02:51,600 เพียงหนึ่งข้อผิดพลาดที่สร้างขึ้นด้านบน ลักษณะของข้อผิดพลาดมากขึ้นกว่าที่มี 56 00:02:51,600 --> 00:02:52,570 เป็นจริง 57 00:02:52,570 --> 00:02:56,620 >> เพื่อให้ฉันเลื่อนขึ้นและเป็นครั้งแรกดังกล่าว ข้อผิดพลาดของตัวหนาที่นี่คือการใช้ 58 00:02:56,620 --> 00:02:59,140 สตริงตัวระบุไม่ได้ประกาศ 59 00:02:59,140 --> 00:03:00,630 คุณหมายถึงมาตรฐานมีอะไรบ้าง? 60 00:03:00,630 --> 00:03:01,990 ดีไม่ฉันไม่ได้ 61 00:03:01,990 --> 00:03:06,700 ผมหมายถึงสตริง แต่มันจะเปิดออกฉัน ลืมสายที่ไม่ได้อยู่ในฐานะ 62 00:03:06,700 --> 00:03:10,830 ข้อมูลทางเทคนิคในการพิมพ์ C. แนวคิด มันมีอยู่ แต่คำว่า 63 00:03:10,830 --> 00:03:16,210 "สตริง" เท่านั้นที่มีอยู่เพราะ CS50 เจ้าหน้าที่ได้ประกาศนั้นจึงจะพูด 64 00:03:16,210 --> 00:03:18,160 ในแฟ้มที่เราเองเขียน 65 00:03:18,160 --> 00:03:22,540 ในความเป็นจริงเช่นเดียวกับคนที่นานมาแล้ว ประกาศฟังก์ชัน printf ในไฟล์ 66 00:03:22,540 --> 00:03:28,310 ที่เรียกว่ามาตรฐาน IO.H เพื่อให้ได้เรา เจ้าหน้าที่ประกาศสตริงเป็นชนิดข้อมูลใน 67 00:03:28,310 --> 00:03:32,470 ไฟล์ที่แปลกใจ เรียกว่า CS50.H. 68 00:03:32,470 --> 00:03:36,340 >> ดังนั้นขอให้กลับไปที่ด้านบนสุดของฉัน โปรแกรมคอมไพเลอร์และแจ้งว่า 69 00:03:36,340 --> 00:03:40,130 ไม่เพียง แต่ผมต้องการที่จะใช้สัญลักษณ์ สตริงผมยังต้องการที่จะให้ความรู้ 70 00:03:40,130 --> 00:03:42,160 คอมไพเลอร์ในสิ่งที่เป็นสัญลักษณ์ที่หมายถึง 71 00:03:42,160 --> 00:03:47,010 และจะทำอย่างไรที่ค่อนข้างง่ายที่ฉันสามารถไป กลับขึ้นไปสายหนึ่งแทรกบรรทัดใหม่ 72 00:03:47,010 --> 00:03:54,070 ที่นี่และเพิ่ม "รวมถึง CS50.H" ระหว่างวงเล็บมุม 73 00:03:54,070 --> 00:03:58,170 การเรียนการสอนนี้เหมือนว่าตอนนี้ ในบรรทัดที่สองจะแจ้งให้ทราบ 74 00:03:58,170 --> 00:04:02,460 คอมไพเลอร์ว่ามันควรจะรวมถึง เนื้อหาของ CS50.H ว่าจะอยู่ที่ไหน 75 00:04:02,460 --> 00:04:06,620 ในฮาร์ดไดรฟ์ของฉันภายในของโปรแกรมของฉัน ดังนั้นการให้ความรู้คอมไพเลอร์เป็น 76 00:04:06,620 --> 00:04:09,050 สิ่งที่หมายโดยสตริง 77 00:04:09,050 --> 00:04:13,420 >> ลองคอมไพล์โปรแกรมของฉัน หลังจากที่บันทึกการเปลี่ยนแปลง 78 00:04:13,420 --> 00:04:15,500 ทำให้สวัสดีหนึ่ง 79 00:04:15,500 --> 00:04:16,440 เข้าสู่ 80 00:04:16,440 --> 00:04:17,730 มากดีกว่า 81 00:04:17,730 --> 00:04:23,760 ตอนนี้ผมมีให้กระพริบที่ฉัน สามารถพิมพ์ ". / สวัสดีหนึ่ง" และ voila 82 00:04:23,760 --> 00:04:25,010 สวัสดีเดวิด 83 00:04:25,010 --> 00:04:26,402