Μόλις μάθατε από τα προηγούμενα κεφάλαια ότι μπορείτε να δημιουργήσετε και να καλέσετε μια συνάρτηση με τον εξής τρόπο:
#include <stdio.h> // Ορισμός μιας συνάρτησης που εκτυπώνει το μήνυμα "Hello World!" void myFunction() { printf("Hello World!\n"); } int main() { myFunction(); // Κλήση της συνάρτησης myFunction() return 0; }
Μπορείτε να ορίσετε τη συνάρτηση ξεχωριστά από την κύρια συνάρτηση στην αρχή του προγράμματος.
Η δήλωση της συνάρτησης πρέπει να γίνει πριν από την χρήση της.
Αν ορίσετε τη συνάρτηση myFunction() στην αρχή του προγράμματος, μπορείτε να την καλέσετε στη συνάρτηση main() χωρίς να χρειάζεται να προηγηθεί κάποια δήλωση.
Η δήλωση της συνάρτησης περιλαμβάνει τον τύπο της επιστροφής, το όνομα της συνάρτησης και τον τύπο και τα ονόματα των παραμέτρων (εάν υπάρχουν).
Η δήλωση και η υλοποίηση της συνάρτησης παραμένουν ακριβώς ίδιες, με την σύνταξη να παραμένει αμετάβλητη:
Σύνταξη
Δήλωση της συνάρτησης:
return_type function_name(parameter1_type parameter1, parameter2_type parameter2, ...);
Ορισμός συνάρτησης:
return_type function_name(parameter1_type parameter1, parameter2_type parameter2, ...) { // function body return return_value; }
Παράδειγμα
#include <stdio.h> // Δήλωση της συνάρτησης void myFunction(); int main() { // Κλήση της συνάρτησης myFunction(); return 0; } // Ορισμός της συνάρτησης void myFunction() { printf("Hello World!\n"); }
Ο παραπάνω κώδικας στη γλώσσα C περιλαμβάνει μία συνάρτηση με όνομα myFunction
. Ας δούμε τι κάνει ο κώδικας βήμα προς βήμα:
- Περιλαμβάνεται η βιβλιοθήκη
stdio.h
, που περιέχει τις δηλώσεις συναρτήσεων για την εισαγωγή και έξοδο δεδομένων. - Δηλώνεται η συνάρτηση
myFunction
με τη χρήση της δήλωσηςvoid myFunction();
. Αυτή η συνάρτηση είναι χωρίς επιστροφή τιμής (void), δηλαδή δεν επιστρέφει κάποια τιμή. - Η συνάρτηση
main
είναι η κύρια συνάρτηση του προγράμματος, όπου ξεκινά η εκτέλεση του προγράμματος. - Καλείται η συνάρτηση
myFunction
μέσα στηνmain
με τη χρήση της εντολήςmyFunction();
. Αυτό έχει ως αποτέλεσμα την εκτέλεση του κώδικα που βρίσκεται μέσα στη συνάρτησηmyFunction
. - Η συνάρτηση
myFunction
ορίζεται με τη χρήση της εντολήςvoid myFunction()
. Εδώ, η συνάρτηση εκτελεί μια εντολή, συγκεκριμένα εκτυπώνει το μήνυμα"Hello World!\n"
στην οθόνη με τη χρήση της συνάρτησηςprintf
.
Συνολικά, ο κώδικας εκτυπώνει το μήνυμα “Hello World!” στην οθόνη του υπολογιστή μέσω της κλήσης της συνάρτησης myFunction
από την main
.
Μπορείτε επίσης να δηλώσετε τη συνάρτηση και να την ορίσετε χρησιμοποιώντας παραμέτρους, στην οριστική υλοποίηση της συνάρτησης:
[adinserter block=”2″]
Σύνταξη
Δήλωση της συνάρτησης:
return_type function_name(parameter1_type parameter1, parameter2_type parameter2, ...);
Ορισμός συνάρτησης:
return_type function_name(parameter1_type parameter1, parameter2_type parameter2, ...) { // function body return return_value; }
Παράδειγμα
#include <stdio.h> // Δήλωση της συνάρτησης void myFunction(int number); int main() { // Κλήση της συνάρτησης myFunction(42); return 0; } // Ορισμός της συνάρτησης void myFunction(int number) { printf("Ο αριθμός είναι %d\n", number); }
Ο παραπάνω κώδικας στη γλώσσα C περιλαμβάνει μια απλή συνάρτηση με το όνομα myFunction
, η οποία δέχεται έναν ακέραιο αριθμό ως όρισμα και εκτυπώνει αυτόν τον αριθμό στην οθόνη.
Στη main
συνάρτηση, γίνεται η κλήση της myFunction
με την παράμετρο 42
, προκαλώντας την εκτέλεση της myFunction
. Μετά την κλήση, το πρόγραμμα τερματίζεται με την επιστροφή της τιμής 0
.
Όταν η myFunction
καλείται, εκτυπώνεται το μήνυμα “Ο αριθμός είναι” ακολουθούμενο από την τιμή του αριθμού που περάστηκε ως όρισμα. Στην περίπτωση αυτή, θα εκτυπωθεί το μήνυμα “Ο αριθμός είναι 42”.
Ο κώδικας απλά επιδεικνύει τη δημιουργία και κλήση μιας συνάρτησης στη γλώσσα C, εκτυπώνοντας έναν αριθμό στην οθόνη.
Μπορείτε να ορίσετε και να δηλώσετε συναρτήσεις που επιστρέφουν τιμές, προσθέτοντας μια δήλωση του τύπου επιστροφής στη δήλωση της συνάρτησης, αντί για τη χρήση της void
.
Για παράδειγμα, αν θέλετε να ορίσετε μια συνάρτηση που επιστρέφει έναν ακέραιο αριθμό, μπορείτε να τη δηλώσετε ως εξής:
int myFunction() { // Κώδικας της συνάρτησης return 42; // Επιστροφή τιμής }
Στο παραπάνω παράδειγμα, η συνάρτηση myFunction
δηλώνεται να επιστρέφει έναν ακέραιο αριθμό. Ο κώδικας της συνάρτησης μπορεί να περιέχει οποιαδήποτε λογική ή υπολογισμό θέλετε. Στο τέλος, μπορείτε να χρησιμοποιήσετε την εντολή return
για να επιστρέψετε την τιμή που επιθυμείτε.
Με την παραπάνω δήλωση και ορισμό μιας συνάρτησης που επιστρέφει τιμή, μπορείτε να αποθηκεύσετε την επιστρεφόμενη τιμή σε μια μεταβλητή ή να την χρησιμοποιήσετε απευθείας σε άλλες λειτουργίες του προγράμματος.
Παρακάτω έχουμε ένα παράδειγμα που δηλώνει και ορίζει μια συνάρτηση που επιστρέφει έναν ακέραιο αριθμό:
#include <stdio.h> // Δήλωση της συνάρτησης int addNumbers(int x, int y); int main() { int result = addNumbers(10, 5); printf("The result is %d\n", result); return 0; } // Ορισμός της συνάρτησης int addNumbers(int x, int y) { int sum = x + y; return sum; }
Ο παραπάνω κώδικας υλοποιεί μια απλή συνάρτηση που πραγματοποιεί την πρόσθεση δύο ακεραίων αριθμών.
Συγκεκριμένα, ο κώδικας περιλαμβάνει:
- Τη δήλωση της συνάρτησης
addNumbers(int x, int y)
, η οποία δέχεται δύο ακεραίους αριθμούς ως παραμέτρους και επιστρέφει έναν ακέραιο αριθμό. - Στη συνέχεια, η
main
συνάρτηση καλεί τηνaddNumbers
παρέχοντας τιμές 10 και 5 ως ορίσματα. Το αποτέλεσμα της κλήσης αποθηκεύεται στη μεταβλητήresult
. - Τέλος, η τιμή της μεταβλητής
result
εκτυπώνεται μέσω της συνάρτησηςprintf
, εμφανίζοντας το μήνυμα “The result is” ακολουθούμενο από την τιμή τηςresult
.
Έτσι, ο κώδικας εκτυπώνει το αποτέλεσμα της πρόσθεσης των αριθμών 10 και 5, το οποίο είναι 15.
Σημειώστε ότι η δήλωση της συνάρτησης πρέπει να προηγείται της κλήσης της συνάρτησης στο κύριο πρόγραμμα. Αυτό είναι απαραίτητο για να ενημερώσετε το μεταγλωττιστή για την ύπαρξη της συνάρτησης.