დინამიკები 1: So ვგრძნობ, როგორიც მე, როგორც წესი, დაწერა printf Hello World ან printf მიესალმები პროცენტს ნანახია საკმაოდ ხშირად კონტექსტში სადაც მე მინდა ამობეჭდოთ string, ზოგჯერ ითხოვს შესახებ ნაწილი რომ სიმებიანი. ისე, რომ არ იყოს ლამაზი თუ ჩვენ შევქმენით ფუნქცია ჩვენი მოუწოდა, ამბობენ, ბეჭდვითი სახელწოდება, რომლის მიზანი ცხოვრებაში უბრალოდ ბეჭდვა მიესალმები მძიმით ასე და ასე იღებს ასე და ასე როგორც არგუმენტი, რომ ფუნქცია? შეიძლება ითქვას, ფუნქცია ჩვენი ისევე როგორც ჩვენ შეგიძლიათ Scratch ასეთია. სხვა სიტყვებით, ვფიქრობ, მინდა printf თქვენი სახელი და შემდეგ ვთხოვთ შესახებ მისი სახელი string s უდრის GetString. და მაშინ მე მინდა მოვუწოდო ფუნქცია ე.წ. print სახელი გავლის s როგორც მისი შეყვანის. ახლა, სამწუხაროდ, არ არსებობს ფუნქცია მოუწოდა ბეჭდვითი სახელის C ან CS50 ბიბლიოთეკაში. მაგრამ არა აქვს მნიშვნელობა, რადგან ჩვენ შეიძლება იყოს იგი საკუთარ თავს. განაცხადოს ფუნქცია საკუთარი და შემდგომში, ჩვენ შეიძლება უბრალოდ რამდენიმე ოთახი ამ ფაილის და აცხადებენ, ეს ფუნქცია შემდეგნაირად, void - აუწყებდა, რომ ფუნქცია არ არის რეალურად დაბრუნებას აპირებს, რაღაც, მიუხედავად იმისა, რომ მას ექნება გვერდითი ეფექტი - ბეჭდვა სახელით, და მაშინ მოდით მიუთითოთ ფრჩხილებში რომ ბეჭდვითი სახელი ელოდება არგუმენტი ტიპის string. და ზოგადად, ჩვენ ვფიქრობთ, რომ, როგორც სახელი. და მოდით გახსნა ჩვენი გაუწიოს და დახუროს ჩვენი გაუწიოს. და მაშინ printf შიგნით მიესალმები მძიმით პროცენტი s ახალი ხაზი მძიმით სახელი. სხვა სიტყვებით, მიუხედავად იმისა, რომ ამ ფუნქცია მხოლოდ ერთი ხაზი კოდი, რომ ჯერ ახლა ზოგიერთი უმაღლესი დონე მიზნით print ვინმეს სახელი მისალოცი. ახლა შიგნით ძირითადი შეამჩნევთ, რომ მე ვარ დარეკვით ბეჭდვითი სახელი გავლით s. და მე, როგორც ჩანს, ახლა უნდა სრული პროგრამა. ერთადერთი განსხვავებით, სხვები ჩვენ წერილობითი არის ის, რომ არა მხოლოდ არ ამ პროგრამის ძირითადი, მას ასევე აქვს დეკლარაციის და განხორციელება print სახელი, ფუნქცია ჩემს. მოდით ახლა კომპილაციის ჩემი პროგრამა გააკეთოს ფუნქციის ნულოვანი და გაუშვით dot slash ფუნქცია ნულის ტოლია. როდესაც მოთხოვნილია ჩემი სახელი მე აკრიფოთ დავით. და მე ნამდვილად ვარ მიესალმა და "Hello, დავით". ახლა, თურმე მე სრულიად შეგნებულად განაცხადა ბეჭდვითი სახელწოდება ზემოთ ძირითადი, ამით ეუბნება C წინასწარ, რომ არ არსებობს არსებობს ფუნქცია მოუწოდა print სახელი ისე, რომ მე ვერ გამოიყენებს მას შემდეგ, ძირითადი. ახლა, რომ მე ნაცვლად დააყენა ბეჭდვითი სახელწოდება at ბოლოში ჩემი ფაილი, როგორც გულწრფელად I ალბათ უნდა გავაკეთოთ ისე, რომ ძირითადი ნაშთები პირველი, რაც მე ან სხვა მომხმარებლის ხედავს ჩემი კოდი, გამოდის, რომ ჩემი კოდია არ აპირებს შეადგინოს. კერძოდ, თუ მე დაბრუნდეს ჩემი ტერმინალის ფანჯარაში და აწარმოებს, რათა ფუნქცია ნულოვანი ახლა შეამჩნია, რომ მე დაიყვირა. თუ მე გადახვევა up ჩემი ტერმინალის ფანჯარა, მე ვხედავ ეს პირველი შეცდომა წითელი, დაფარული დეკლარაცია ფუნქცია print სახელი. ახლა, რას ნიშნავს ეს? ასევე, მიუხედავად იმისა, რომ მე ხორციელდება ბეჭდვა სახელი ამ ფაილის, მე არ განხორციელებული ეს ადრე მე გამოიყენება იგი მთავარ. ახლა, ჩვენ შეიძლება დაბრუნდეს ძველი მობილური და ამით print სახელისა შესრულების up დაბრუნება. მაგრამ შემიძლია ნაცვლად უბრალოდ მისცეს C მინიშნება რომ არსებობს ფუნქცია მოვა. კერძოდ, ზემოთ მთავარი შემიძლია განვაცხადო, ბეჭდვა სახელწოდება, ისევე როგორც მე ადრე, მაგრამ დასრულდება ხაზი მძიმით, რითაც პირობა დადო, რომ განახორციელებს, მაგრამ არ არის რეალურად განხორციელების ფუნქცია ე.წ. print სახელი. შემიძლია მაშინ აქვს ძირითადი ზედა ჩემი ფაილი, როგორც იმედი მქონდა, და შემიძლია რეალურად განახორციელოს ბეჭდვითი სახელის ბოლოში. თუ მე ახლა დაბრუნდეს ჩემი ტერმინალის ფანჯარაში და recompile ფუნქცია ნულოვანი ერთად მიიღოს, ამ დროს იგი ადგენს. და თუ მე გაუშვით dot slash ფუნქცია ნულოვანი მიწოდების ჩემი სახელით, მე ვარ მიესალმა, როგორც "Hello, დავით".