Οι συναρτήσεις είναι ένας τρόπος να οργανώσετε τον κώδικά σας και να επαναχρησιμοποιείτε κομμάτια κώδικα. Μια συνάρτηση αποτελείται από ένα σύνολο εντολών που εκτελούνται όταν καλείται η συνάρτηση. Μπορούν να περάσουν παράμετροι στη συνάρτηση για να εκτελεστούν κάποιες ενέργειες, και μπορεί να επιστρέψει ένα αποτέλεσμα.
Παρακάτω είναι ένα παράδειγμα μιας απλής συνάρτησης στη C που προσθέτει δύο ακεραίους και επιστρέφει το αποτέλεσμα:
int add(int a, int b) { int result = a + b; return result; }
Η συνάρτηση add()
λαμβάνει δύο παραμέτρους, a και b, και επιστρέφει το αποτέλεσμα της πρόσθεσής τους. Η μεταβλητή result
αποθηκεύει το αποτέλεσμα, και μετά επιστρέφεται με τη χρήση της εντολής return
.
Για να καλέσετε τη συνάρτηση add()
και να εκτελεστεί ο κώδικάς της, μπορείτε να χρησιμοποιήσετε την εξής εντολή:
int result = add(3, 5);
Αυτό θα αποθηκεύσει το αποτέλεσμα της πρόσθεσης των αριθμών 3 και 5 στη μεταβλήτη result
.
Μπορούμε επίσης να εκτυπώσουμε απευθείας το αποτέλεσμα της συνάρτησης, χρησιμοποιώντας την εντολή printf()
:
printf("The result is: %d\n", add(3, 5));
Αυτό θα εκτυπώσει:
The result is: 8
Όπως βλέπετε, καλούμε τη συνάρτηση add()
μέσα στην εντολή printf()
, και το αποτέλεσμα της συνάρτησης εκτυπώνεται απευθείας.
Η main()
είναι η συνάρτηση που καλείται όταν ξεκινάει ένα πρόγραμμα στη C, και η printf()
χρησιμοποιείται για εκτύπωση κειμένου στην οθόνη. Υπάρχουν πολλές άλλες προεπιλεγμένες συναρτήσεις στη C, όπως η scanf()
για την είσοδο δεδομένων από τον χρήστη και η strlen()
για το μήκος μιας συμβολοσειράς.
[adinserter block=”2″]
Μπορείτε να χρησιμοποιήσετε προεπιλεγμένες συναρτήσεις αμέσως, χωρίς να χρειάζεται να τις ορίσετε πρώτα. Για παράδειγμα, αυτός ο κώδικας χρησιμοποιεί τη συνάρτηση printf()
για να εκτυπώσει το κείμενο “Hello, world!” στην οθόνη:
#include <stdio.h> int main() { printf("Hello, world!"); return 0; }
Παρατηρήστε ότι πρέπει να συμπεριλάβετε τη βιβλιοθήκη stdio.h
στην αρχή του κώδικά σας για να χρησιμοποιήσετε τη συνάρτηση printf()
.
Η σύνταξη για τον ορισμό μιας συνάρτησης στη C είναι η εξής:
return_type function_name(parameters) { // function body }
Το return_type
είναι ο τύπος της τιμής που επιστρέφει η συνάρτηση, ή void
αν η συνάρτηση δεν επιστρέφει τίποτα.
Το function_name
είναι το όνομα της συνάρτησης, και τα parameters
είναι οι παράμετροι που περνάτε στη συνάρτηση, αν υπάρχουν. Οι παράμετροι αυτές είναι προαιρετικές.
Το σώμα της συνάρτησης βρίσκεται μέσα στις αγκύλες {}
και περιέχει τον κώδικα που θέλετε να εκτελεστεί όταν η συνάρτηση καλείται.
Εδώ είναι ένα απλό παράδειγμα μιας συνάρτησης που επιστρέφει το άθροισμα δύο ακεραίων αριθμών:
int add(int num1, int num2) { int sum = num1 + num2; return sum; }
Σε αυτό το παράδειγμα, η συνάρτηση ονομάζεται add()
και παίρνει δύο παραμέτρους τύπου int
, το num1
και το num2
. Επιστρέφει το άθροισμα των δύο παραμέτρων χρησιμοποιώντας την εντολή return
.
Στο παρακάτω παράδειγμα, καλούμε τη συνάρτηση myFunction()
από μέσα στη συνάρτηση main()
, και εκτυπώνουμε ένα κείμενο στην οθόνη μέσω αυτής της συνάρτησης:
#include <stdio.h> // Declare the function void myFunction() { printf("Hello from myFunction!"); } // Call the function from main int main() { myFunction(); return 0; }
Αν τρέξετε αυτόν τον κώδικα, θα δείτε το κείμενο “Hello from myFunction!” εκτυπωμένο στην οθόνη, δείχνοντας ότι η συνάρτηση myFunction()
καλείται από τη συνάρτηση main()
.
Μια συνάρτηση μπορεί να καλεστεί πολλές φορές κατά τη διάρκεια της εκτέλεσης του προγράμματος.
Στο παρακάτω παράδειγμα, η συνάρτηση printMessage()
καλείται τρεις φορές από τη συνάρτηση main()
, και εκτυπώνει το ίδιο κείμενο τρεις φορές:
#include <stdio.h> // Declare the function void printMessage() { printf("Hello from printMessage!\n"); } // Call the function multiple times from main int main() { printMessage(); printMessage(); printMessage(); return 0; }
Τρέχοντας αυτόν τον κώδικα, θα δείτε το κείμενο “Hello from printMessage!” να εκτυπώνεται τρεις φορές στην οθόνη.