C Λειτουργίες που καθορίζονται από τον χρήστη

Σε αυτό το σεμινάριο, θα μάθετε να δημιουργείτε λειτουργίες που καθορίζονται από τον χρήστη στον προγραμματισμό C με τη βοήθεια ενός παραδείγματος.

Μια συνάρτηση είναι ένα μπλοκ κώδικα που εκτελεί μια συγκεκριμένη εργασία.

Το C σας επιτρέπει να ορίσετε λειτουργίες ανάλογα με τις ανάγκες σας. Αυτές οι λειτουργίες είναι γνωστές ως λειτουργίες καθορισμένες από το χρήστη. Για παράδειγμα:

Ας υποθέσουμε, πρέπει να δημιουργήσετε έναν κύκλο και να τον χρωματίσετε ανάλογα με την ακτίνα και το χρώμα. Μπορείτε να δημιουργήσετε δύο συναρτήσεις για την επίλυση αυτού του προβλήματος:

  • createCircle() λειτουργία
  • color() λειτουργία

Παράδειγμα: Λειτουργία που καθορίζεται από το χρήστη

Εδώ είναι ένα παράδειγμα για την προσθήκη δύο ακέραιων αριθμών. Για την εκτέλεση αυτής της εργασίας, δημιουργήσαμε έναν χρήστη addNumbers().

 #include int addNumbers(int a, int b); // function prototype int main() ( int n1,n2,sum; printf("Enters two numbers: "); scanf("%d %d",&n1,&n2); sum = addNumbers(n1, n2); // function call printf("sum = %d",sum); return 0; ) int addNumbers(int a, int b) // function definition ( int result; result = a+b; return result; // return statement ) 

Πρωτότυπο λειτουργίας

Ένα πρωτότυπο συνάρτησης είναι απλώς η δήλωση μιας συνάρτησης που καθορίζει το όνομα, τις παραμέτρους και τον τύπο επιστροφής της συνάρτησης. Δεν περιέχει σώμα λειτουργίας.

Ένα πρωτότυπο συνάρτησης δίνει πληροφορίες στον μεταγλωττιστή ότι η συνάρτηση μπορεί αργότερα να χρησιμοποιηθεί στο πρόγραμμα.

Σύνταξη πρωτοτύπου συνάρτησης

 returnType functionName (τύπος1 όρισμα1, τύπος2 όρισμα2,…);

Στο παραπάνω παράδειγμα, int addNumbers(int a, int b);είναι το πρωτότυπο της συνάρτησης που παρέχει τις ακόλουθες πληροφορίες στον μεταγλωττιστή:

  1. το όνομα της συνάρτησης είναι addNumbers()
  2. τύπος επιστροφής της συνάρτησης είναι int
  3. δύο ορίσματα τύπου intμεταβιβάζονται στη συνάρτηση

Το πρωτότυπο της συνάρτησης δεν είναι απαραίτητο εάν η συνάρτηση που καθορίζεται από το χρήστη ορίζεται πριν από τη main()συνάρτηση.

Κλήση μιας συνάρτησης

Ο έλεγχος του προγράμματος μεταφέρεται στη συνάρτηση που καθορίζεται από τον χρήστη, καλώντας το.

Σύνταξη κλήσης λειτουργίας

 functionName (όρισμα 1, όρισμα2,…)

Στο παραπάνω παράδειγμα, η κλήση συνάρτησης πραγματοποιείται χρησιμοποιώντας addNumbers(n1, n2);δήλωση μέσα στη main()συνάρτηση.

Ορισμός λειτουργίας

Ο ορισμός της συνάρτησης περιέχει το μπλοκ κώδικα για την εκτέλεση μιας συγκεκριμένης εργασίας. Στο παράδειγμά μας, προσθέτοντας δύο αριθμούς και επιστρέφοντας.

Σύνταξη ορισμού συνάρτησης

 returnType functionName (type1 argument1, type2 argument2,…) (// σώμα της συνάρτησης) 

Όταν καλείται μια συνάρτηση, ο έλεγχος του προγράμματος μεταφέρεται στον ορισμό της συνάρτησης. Και, ο μεταγλωττιστής αρχίζει να εκτελεί τους κωδικούς μέσα στο σώμα μιας συνάρτησης.

Μετάδοση ορισμάτων σε μια συνάρτηση

Στον προγραμματισμό, το όρισμα αναφέρεται στη μεταβλητή που μεταβιβάστηκε στη συνάρτηση. Στο παραπάνω παράδειγμα, δύο μεταβλητές n1 και n2 περνούν κατά τη διάρκεια της κλήσης συνάρτησης.

Οι παράμετροι a και b αποδέχεται τα περάσματα που έχουν περάσει στον ορισμό της συνάρτησης. Αυτά τα επιχειρήματα ονομάζονται τυπικές παράμετροι της συνάρτησης.

Ο τύπος των ορισμάτων που μεταβιβάζονται σε μια συνάρτηση και οι τυπικές παράμετροι πρέπει να ταιριάζουν, διαφορετικά, ο μεταγλωττιστής θα εμφανίσει σφάλμα.

Εάν το n1 είναι τύπου char, πρέπει επίσης να είναι τύπου char. Εάν το n2 είναι τύπου float, η μεταβλητή b πρέπει επίσης να είναι τύπου float.

Μια συνάρτηση μπορεί επίσης να κληθεί χωρίς να περάσει ένα όρισμα.

Δήλωση επιστροφής

Η δήλωση επιστροφής τερματίζει την εκτέλεση μιας συνάρτησης και επιστρέφει μια τιμή στη συνάρτηση κλήσης. Ο έλεγχος προγράμματος μεταφέρεται στη λειτουργία κλήσης μετά τη δήλωση επιστροφής.

Στο παραπάνω παράδειγμα, η τιμή της μεταβλητής αποτελέσματος επιστρέφεται στην κύρια συνάρτηση. Στη μεταβλητή αθροίσματος στη main()συνάρτηση εκχωρείται αυτή η τιμή.

Σύνταξη δήλωσης επιστροφής

 επιστροφή (έκφραση); 

Για παράδειγμα,

επιστροφή α? επιστροφή (a + b);

Ο τύπος της τιμής που επιστρέφεται από τη συνάρτηση και ο τύπος επιστροφής που καθορίζεται στο πρωτότυπο της συνάρτησης και στον ορισμό της συνάρτησης πρέπει να ταιριάζουν.

Επισκεφτείτε αυτήν τη σελίδα για να μάθετε περισσότερα σχετικά με τη μετάδοση ορισμάτων και την επιστροφή της τιμής από μια συνάρτηση.

ενδιαφέροντα άρθρα...