ΟΜΙΛΗΤΗΣ 1: Έτσι νιώθω σαν να έχω την τάση να γράψτε printf hello world ή printf αρκετά συχνά γεια τοις εκατό s στα πλαίσια όπου θέλετε να εκτυπώσετε μια εγχόρδων, μερικές φορές ζητώντας από την μέρος των χρηστών του εν λόγω σειρά. Λοιπόν, δεν θα ήταν ωραίο αν δημιουργήσαμε συνάρτηση της δικής μας κάλεσε, λένε, το όνομα εκτύπωσης, των οποίων ο σκοπός της ζωής είναι απλά για να εκτυπώσετε γεια κόμμα έτσι-και-έτσι αποδεχόμενοι το έτσι-και-έτσι ως επιχείρημα για αυτή τη λειτουργία; Μπορούμε να δηλώσουμε μια συνάρτηση της δικής μας ακριβώς όπως μπορούμε σε Scratch ως εξής. Με άλλα λόγια, ας υποθέσουμε ότι θα ήθελα να printf το όνομά σας και στη συνέχεια να ζητήσει από το χρήστη για το όνομα του ή της με σπάγκο s ισούται με GetString. Και τότε θέλω να καλέσετε μια συνάρτηση κάλεσε το όνομά εκτύπωσης περνώντας ένα s ως είσοδο του. Τώρα, δυστυχώς, δεν υπάρχει καμία λειτουργία κάλεσε το όνομά εκτύπωσης σε C ή σε η βιβλιοθήκη CS50. Αλλά δεν έχει σημασία, γιατί μπορεί να το κάνουμε και εμείς. Για να δηλώσετε μια λειτουργία της δικής μας και Στη συνέχεια το εφαρμόσει, μπορούμε απλά να κάνει κάποια περιθώρια σε αυτό το αρχείο και να δηλώνουν αυτή η λειτουργία, ως εξής, άκυρα - που σημαίνει ότι η λειτουργία δεν είναι στην πραγματικότητα πρόκειται να επιστρέψει κάτι, μολονότι θα έχει μια παρενέργεια - εκτυπώσετε το όνομα, και στη συνέχεια ας προσδιορίζει παρενθέσεις ότι το όνομα εκτύπωσης αναμένει το επιχείρημα του τύπου string. Και σε γενικές γραμμές, εμείς θα σκεφτούμε του ότι ως όνομα. Και ας ανοίξουμε κηδεμόνα μας και να κλείσει στήριγμα μας. Και τότε printf μέσα γεια κόμμα νέο όνομα της γραμμής κόμμα τοις εκατό s. Με άλλα λόγια, ακόμα κι αν αυτό η λειτουργία είναι μόνο μια γραμμή κώδικα, δεν έχει πλέον κάποιο υψηλότερο επίπεδο με σκοπό να εκτυπώσετε το όνομα κάποιου ατόμου με ένα χαιρετισμό. Τώρα, μέσα από τις κύριες, παρατηρήσετε ότι είμαι καλώντας το όνομά εκτύπωσης με πέρασμα ενός s. Και γι 'αυτό τώρα φαίνεται να έχουν ένα πλήρες πρόγραμμα. Η μόνη διαφορά είναι από τους άλλους έχουμε γράψει είναι ότι όχι μόνο δεν αυτό το πρόγραμμα έχουν κύρια, έχει επίσης μια δήλωση και την εφαρμογή των Το όνομά εκτύπωσης, μια συνάρτηση των δικών μου. Ας τώρα να μεταγλωττίσετε το πρόγραμμά μου με τη μάρκα λειτουργία μηδέν, και να το εκτελέσετε με τελεία κάθετο λειτουργία μηδέν. Όταν σας ζητηθεί το όνομά μου Θα πληκτρολογήσετε David. Και εγώ πραγματικά είμαι χαιρέτησε με το "Γεια σου, Ντέιβιντ." Τώρα, αποδεικνύεται έχω πολύ σκόπιμα δηλωθεί το όνομα εκτύπωσης πάνω από την κύρια, έτσι λέει C εκ των προτέρων ότι υπάρχει υπάρχει μια λειτουργία που ονομάζεται εκτύπωση το όνομα, έτσι ώστε θα μπορούσα να χρησιμοποιήσω αργότερα στην κύρια. Τώρα, είχα, αντί να θέσει το όνομα εκτύπωσης σε το κάτω μέρος του αρχείου μου, όπως ειλικρινά ίσως θα πρέπει να το πράξουν ότι κύρια ερείπια το πρώτο πράγμα που έχω ή άλλος χρήστης βλέπει στον κώδικά μου, αποδεικνύεται ότι ο κωδικός μου είναι Δεν πρόκειται για την κατάρτιση. Συγκεκριμένα, αν πάω πίσω μου παράθυρο τερματικού και λειτουργία βεβαιωθείτε λειτουργία μηδέν τώρα, παρατηρούμε ότι είμαι φώναξε. Αν έχω κύλιση προς τα πάνω στο παράθυρο του τερματικού μου, Θα δείτε αυτό το πρώτο σφάλμα στο κόκκινο, σιωπηρή δήλωση λειτουργία ονόματος εκτύπωσης. Τώρα, τι σημαίνει αυτό; Λοιπόν, ακόμα κι αν έχω υλοποιούνται εκτυπώσετε το όνομα σε αυτό το αρχείο, εγώ δεν έχω εφαρμοστεί πριν έχω χρησιμοποίησε στο κύριο. Τώρα, θα μπορούσαμε να πάμε πίσω στο παλιό έκδοση και βάλτε το όνομα εκτύπωσης εφαρμογή επάνω στην κορυφή. Αλλά μπορώ να αντί απλά να δώσει μια υπόδειξη C ότι υπάρχει μια λειτουργία για να έρθει. Συγκεκριμένα, πάνω από την κύρια μπορώ να δηλώσω εκτυπώσετε το όνομα ακριβώς όπως έκανα νωρίτερα, αλλά τέλος της γραμμής με ένα ερωτηματικό, με τον τρόπο αυτό υπόσχεται να εφαρμοστούν, αλλά δεν έχουν ακόμη στην πραγματικότητα υλοποιούν τη λειτουργία κάλεσε το όνομά εκτύπωσης. Τότε μπορώ να έχω κύρια στην κορυφή του μου αρχείο όπως ήλπιζα, και μπορώ πραγματικά εφαρμόσουν το όνομα γράμματα στο κάτω μέρος. Αν τώρα επιστρέψουμε στο παράθυρο τερματικού μου και να μεταγλωττίσετε ξανά τη λειτουργία μηδέν με μάρκα, αυτή τη φορά που καταρτίζει. Και αν μπορώ να τρέξει με dot λειτουργία κάθετο μηδέν, παρέχοντας το όνομα μου, είμαι χαιρετίστηκε ως «Γεια σου, Ντέιβιντ."