1 00:00:00,000 --> 00:00:00,160 2 00:00:00,160 --> 00:00:04,010 >> დინამიკები 1: So ვგრძნობ, როგორიც მე, როგორც წესი, დაწერა printf Hello World ან printf 3 00:00:04,010 --> 00:00:08,160 მიესალმები პროცენტს ნანახია საკმაოდ ხშირად კონტექსტში სადაც მე მინდა ამობეჭდოთ 4 00:00:08,160 --> 00:00:11,360 string, ზოგჯერ ითხოვს შესახებ ნაწილი რომ სიმებიანი. 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 მისი სახელი string s უდრის GetString. 11 00:00:39,470 --> 00:00:42,060 და მაშინ მე მინდა მოვუწოდო ფუნქცია ე.წ. print სახელი 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 რამდენიმე ოთახი ამ ფაილის და აცხადებენ, ეს ფუნქცია შემდეგნაირად, void - 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 არგუმენტი ტიპის string. 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 შიგნით მიესალმები მძიმით პროცენტი s ახალი ხაზი მძიმით სახელი. 25 00:01:21,930 --> 00:01:24,570 სხვა სიტყვებით, მიუხედავად იმისა, რომ ამ ფუნქცია მხოლოდ ერთი ხაზი კოდი, რომ 26 00:01:24,570 --> 00:01:27,290 ჯერ ახლა ზოგიერთი უმაღლესი დონე მიზნით print 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 print სახელი, ფუნქცია ჩემს. 33 00:01:44,740 --> 00:01:49,505 >> მოდით ახლა კომპილაციის ჩემი პროგრამა გააკეთოს ფუნქციის ნულოვანი და გაუშვით dot 34 00:01:49,505 --> 00:01:51,080 slash ფუნქცია ნულის ტოლია. 35 00:01:51,080 --> 00:01:53,390 როდესაც მოთხოვნილია ჩემი სახელი მე აკრიფოთ დავით. 36 00:01:53,390 --> 00:01:55,830 და მე ნამდვილად ვარ მიესალმა და "Hello, დავით". 37 00:01:55,830 --> 00:02:00,160 >> ახლა, თურმე მე სრულიად შეგნებულად განაცხადა ბეჭდვითი სახელწოდება ზემოთ ძირითადი, 38 00:02:00,160 --> 00:02:03,860 ამით ეუბნება C წინასწარ, რომ არ არსებობს არსებობს ფუნქცია მოუწოდა print 39 00:02:03,860 --> 00:02:06,930 სახელი ისე, რომ მე ვერ გამოიყენებს მას შემდეგ, ძირითადი. 40 00:02:06,930 --> 00:02:11,610 ახლა, რომ მე ნაცვლად დააყენა ბეჭდვითი სახელწოდება at ბოლოში ჩემი ფაილი, როგორც გულწრფელად I 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 >> კერძოდ, თუ მე დაბრუნდეს ჩემი ტერმინალის ფანჯარაში და აწარმოებს, რათა ფუნქცია 45 00:02:23,610 --> 00:02:26,120 ნულოვანი ახლა შეამჩნია, რომ მე დაიყვირა. 46 00:02:26,120 --> 00:02:30,340 თუ მე გადახვევა up ჩემი ტერმინალის ფანჯარა, მე ვხედავ ეს პირველი შეცდომა წითელი, 47 00:02:30,340 --> 00:02:33,120 დაფარული დეკლარაცია ფუნქცია print სახელი. 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 ახლა, ჩვენ შეიძლება დაბრუნდეს ძველი მობილური და ამით print სახელისა 52 00:02:43,160 --> 00:02:44,450 შესრულების up დაბრუნება. 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 რეალურად განხორციელების ფუნქცია ე.წ. print სახელი. 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 >> თუ მე ახლა დაბრუნდეს ჩემი ტერმინალის ფანჯარაში და recompile ფუნქცია ნულოვანი ერთად მიიღოს, 60 00:03:12,860 --> 00:03:14,390 ამ დროს იგი ადგენს. 61 00:03:14,390 --> 00:03:18,240 და თუ მე გაუშვით dot slash ფუნქცია ნულოვანი მიწოდების ჩემი სახელით, მე ვარ 62 00:03:18,240 --> 00:03:20,650 მიესალმა, როგორც "Hello, დავით". 63 00:03:20,650 --> 00:03:22,268