1 00:00:00,000 --> 00:00:00,160 2 00:00:00,160 --> 00:00:04,010 >> ลำโพง 1: ดังนั้นฉันรู้สึกเหมือนฉันมีแนวโน้มที่จะ เขียน printf โลก hello หรือ printf 3 00:00:04,010 --> 00:00:08,160 สวัสดีเปอร์เซ็นต์ค่อนข้างมักจะอยู่ในบริบท ที่ฉันต้องการที่จะพิมพ์ออกมา 4 00:00:08,160 --> 00:00:11,360 สตริงบางครั้งขอให้ ส่วนหนึ่งของผู้ใช้สตริงที่ 5 00:00:11,360 --> 00:00:14,980 ดีมันจะไม่ดีถ้าเราสร้าง หน้าที่ของเราเองที่เรียกว่า 6 00:00:14,980 --> 00:00:19,900 พูดชื่อพิมพ์ที่มีจุดมุ่งหมายในชีวิต เป็นเพียงการพิมพ์สวัสดีจุลภาค 7 00:00:19,900 --> 00:00:24,560 ดังนั้นและดังนั้นโดยการยอมรับเพื่อให้และเพื่อให้ เป็นอาร์กิวเมนต์ฟังก์ชันที่? 8 00:00:24,560 --> 00:00:29,220 เราสามารถประกาศการทำงานของเราเอง เช่นเดียวกับที่เราสามารถทำได้ใน Scratch ดังต่อไปนี้ 9 00:00:29,220 --> 00:00:35,280 >> ในคำอื่น ๆ คิดว่าฉันต้องการที่จะ printf ชื่อของคุณและจากนั้นขอให้ผู้ใช้ 10 00:00:35,280 --> 00:00:39,470 สำหรับชื่อของเขาหรือเธอด้วยเชือก s เท่ากับ GetString 11 00:00:39,470 --> 00:00:42,060 แล้วผมต้องการที่จะเรียกใช้ฟังก์ชัน พิมพ์ชื่อที่เรียกว่า 12 00:00:42,060 --> 00:00:44,340 ผ่าน s เป็นปัจจัยการผลิต 13 00:00:44,340 --> 00:00:47,770 >> ตอนนี้โชคไม่ดีที่มีฟังก์ชั่นไม่ เรียกชื่อพิมพ์ใน C หรือ 14 00:00:47,770 --> 00:00:48,950 ห้องสมุด CS50 15 00:00:48,950 --> 00:00:51,220 แต่ไม่ว่าเพราะเรา สามารถทำให้ตัวเอง 16 00:00:51,220 --> 00:00:54,560 ที่จะประกาศการทำงานของเราเองและ แล้วใช้มันเราก็สามารถทำให้ 17 00:00:54,560 --> 00:00:59,000 ห้องพักในแฟ้มนี้และประกาศบาง ฟังก์ชั่นดังต่อไปนี้เป็นโมฆะ - 18 00:00:59,000 --> 00:01:01,900 แสดงว่าฟังก์ชั่นไม่ จริงจะกลับบางสิ่งบางอย่าง 19 00:01:01,900 --> 00:01:03,890 ถึงแม้ว่ามันจะมี ผลข้างเคียง - 20 00:01:03,890 --> 00:01:08,030 พิมพ์ชื่อและจากนั้นให้ระบุใน วงเล็บว่าชื่อพิมพ์คาดว่า 21 00:01:08,030 --> 00:01:09,680 อาร์กิวเมนต์ของสตริงประเภท 22 00:01:09,680 --> 00:01:12,180 และโดยทั่วไปเราจะคิดว่า ที่เป็นชื่อ 23 00:01:12,180 --> 00:01:15,140 >> และให้เปิดรั้งของเรา และปิดรั้งของเรา 24 00:01:15,140 --> 00:01:21,930 แล้ว printf ภายในสวัสดีจุลภาค ร้อยละชื่อจุลภาคบรรทัดใหม่ 25 00:01:21,930 --> 00:01:24,570 ในคำอื่น ๆ แม้ว่านี้ ฟังก์ชั่นเป็นเพียงหนึ่งบรรทัดของรหัสมัน 26 00:01:24,570 --> 00:01:27,290 ไม่ตอนนี้มีบางอย่างที่สูงขึ้น จุดประสงค์ในการพิมพ์ที่ระดับ 27 00:01:27,290 --> 00:01:28,950 ชื่อของคนที่มีการอวยพร 28 00:01:28,950 --> 00:01:33,115 >> ตอนนี้ภายในของหลักสังเกตเห็นว่าฉัน เรียกชื่อพิมพ์โดยผ่าน s 29 00:01:33,115 --> 00:01:35,830 และเพื่อให้ฉันตอนนี้ดูเหมือนจะมี โปรแกรมที่สมบูรณ์ 30 00:01:35,830 --> 00:01:38,650 ความแตกต่างเพียงอย่างเดียวจากคนอื่น ๆ เราได้เขียนเป็นที่ไม่เพียง แต่ไม่ 31 00:01:38,650 --> 00:01:42,480 โปรแกรมนี้ได้หลักก็ยังมี การประกาศและการดำเนินการ 32 00:01:42,480 --> 00:01:44,740 พิมพ์ชื่อฟังก์ชั่นของตัวเอง 33 00:01:44,740 --> 00:01:49,505 >> ตอนนี้ขอรวบรวมโปรแกรมของฉันกับการทำ ฟังก์ชั่นศูนย์และใช้มันด้วยจุด 34 00:01:49,505 --> 00:01:51,080 เฉือนศูนย์ฟังก์ชั่น 35 00:01:51,080 --> 00:01:53,390 เมื่อได้รับแจ้งสำหรับชื่อของฉัน ฉันจะพิมพ์ลงในเดวิด 36 00:01:53,390 --> 00:01:55,830 และฉันแน่นอนฉันได้รับการต้อนรับ ด้วย "สวัสดีเดวิด." 37 00:01:55,830 --> 00:02:00,160 >> ตอนนี้ก็จะเปิดออกฉันเป็นอย่างจงใจ ชื่อพิมพ์ประกาศดังกล่าวข้างต้นหลัก 38 00:02:00,160 --> 00:02:03,860 จึงบอก C ล่วงหน้าว่ามี มีฟังก์ชั่นที่เรียกว่าพิมพ์ 39 00:02:03,860 --> 00:02:06,930 ชื่อเพื่อที่ฉันสามารถใช้ ภายหลังในหลัก 40 00:02:06,930 --> 00:02:11,610 ตอนนี้ผมได้ใส่ชื่อแทนการพิมพ์ที่ ด้านล่างของไฟล์ของฉันเป็นตรงไปตรงมาที่ฉัน 41 00:02:11,610 --> 00:02:15,310 อาจจะทำเพื่อให้ยังคงอยู่หลัก สิ่งแรกที่ฉันหรือ 42 00:02:15,310 --> 00:02:18,450 ผู้ใช้อื่นเห็นในรหัสของฉัน ปรากฎว่ารหัสของฉัน 43 00:02:18,450 --> 00:02:19,780 ไม่ได้จะรวบรวม 44 00:02:19,780 --> 00:02:23,610 >> โดยเฉพาะถ้าฉันกลับไปของฉัน หน้าต่าง terminal และเรียกใช้ฟังก์ชั่นให้ 45 00:02:23,610 --> 00:02:26,120 ศูนย์ตอนนี้สังเกตเห็นว่าฉันตะโกนใส่ 46 00:02:26,120 --> 00:02:30,340 ถ้าผมเลื่อนขึ้นในหน้าต่าง terminal ของฉัน ฉันจะเห็นข้อผิดพลาดนี้เป็นครั้งแรกในสีแดง 47 00:02:30,340 --> 00:02:33,120 ประกาศนัยของ ชื่อฟังก์ชั่นการพิมพ์ 48 00:02:33,120 --> 00:02:34,220 >> ตอนนี้สิ่งที่หมายความว่าอย่างไร 49 00:02:34,220 --> 00:02:37,190 ดีแม้ว่าฉันได้ดำเนินการ พิมพ์ชื่อที่อยู่ในแฟ้มนี้ผมไม่ได้ 50 00:02:37,190 --> 00:02:40,080 ดำเนินการก่อนที่จะฉันได้ ใช้มันในหลัก 51 00:02:40,080 --> 00:02:43,160 ตอนนี้เราจะกลับไปที่เก่า รุ่นและชื่อพิมพ์ใส่ของ 52 00:02:43,160 --> 00:02:44,450 การดำเนินการขึ้นด้านบน 53 00:02:44,450 --> 00:02:48,730 >> แต่ผมสามารถแทนเพียงแค่ให้คำแนะนำ C ที่มีฟังก์ชั่นที่จะมา 54 00:02:48,730 --> 00:02:55,390 โดยเฉพาะเหนือหลักที่ฉันสามารถประกาศ พิมพ์ชื่อเช่นเดียวกับที่ผมทำก่อนหน้านี้ แต่ 55 00:02:55,390 --> 00:02:59,450 จบสอดคล้องกับอัฒภาคจึง มีแนวโน้มที่จะดำเนินการ แต่ยังไม่ได้ 56 00:02:59,450 --> 00:03:02,180 จริงการใช้ฟังก์ชั่น พิมพ์ชื่อที่เรียกว่า 57 00:03:02,180 --> 00:03:05,860 แล้วฉันจะมีหลักที่ด้านบนของฉัน ไฟล์ที่ผมหวังและผมสามารถจริง 58 00:03:05,860 --> 00:03:07,440 ใช้ชื่อพิมพ์ที่ด้านล่าง 59 00:03:07,440 --> 00:03:12,860 >> ถ้าตอนนี้ผมกลับไปที่หน้าต่าง terminal ของฉัน และคอมไพล์ฟังก์ชันศูนย์แต่งหน้า, 60 00:03:12,860 --> 00:03:14,390 เวลาที่จะรวบรวมนี้ 61 00:03:14,390 --> 00:03:18,240 และถ้าผมเรียกใช้ฟังก์ชั่นเฉือนจุด ศูนย์ให้ชื่อของฉันฉัน 62 00:03:18,240 --> 00:03:20,650 ได้รับการต้อนรับเป็น "สวัสดีเดวิด." 63 00:03:20,650 --> 00:03:22,268