Στη γλώσσα C, μπορούμε να μεταβιβάσουμε πληροφορία στις συναρτήσεις χρησιμοποιώντας παραμέτρους. Οι παράμετροι λειτουργούν ως μεταβλητές μέσα στη συνάρτηση και χρησιμοποιούνται για τη μεταφορά πληροφορίας στον κώδικα της συνάρτησης.
Οι παράμετροι ορίζονται μετά το όνομα της συνάρτησης, εντός παρενθέσεων. Μπορούμε να προσθέσουμε όσες παραμέτρους θέλουμε, χωρίζοντάς τες με κόμμα.
Η σύνταξη για την ορισμένη συνάρτηση με παραμέτρους είναι η εξής:
return_type function_name(parameter1_type parameter1_name, parameter2_type parameter2_name, ...) { // function body }
όπου:
return_type
είναι ο τύπος της τιμής που επιστρέφεται από τη συνάρτηση, όπωςint
,double
,void
, κλπ.function_name
είναι το όνομα της συνάρτησης.parameter1_type
καιparameter2_type
είναι οι τύποι των παραμέτρων.parameter1_name
καιparameter2_name
είναι τα ονόματα των παραμέτρων.
Επίσης, μπορείτε να προσθέσετε όσες παραμέτρους θέλετε, αρκεί να τις χωρίζετε με κόμμα.
Ας υποθέσουμε ότι θέλουμε να ορίσουμε μια συνάρτηση που πραγματοποιεί την πράξη της πρόσθεσης δύο ακεραίων αριθμών και επιστρέφει το αποτέλεσμα. Ένα παράδειγμα κώδικα που περιλαμβάνει την παραπάνω συνάρτηση μπορεί να είναι το εξής:
#include <stdio.h> // Δήλωση της συνάρτησης πρόσθεσης int add(int a, int b) { int result = a + b; return result; } int main() { int x = 3; int y = 5; int sum = add(x, y); // Κλήση της συνάρτησης add με τις μεταβλητές x και y ως παραμέτρους printf("Το άθροισμα των %d και %d είναι %d\n", x, y, sum); return 0; }
Ο παραπάνω κώδικας περιλαμβάνει μια συνάρτηση πρόσθεσης (add
) και τη χρησιμοποιεί στη συνάρτηση main
για να υπολογίσει το άθροισμα δύο ακεραίων αριθμών.
Ας δούμε πιο αναλυτικά τη λειτουργία του κώδικα:
- Στην αρχή, γίνεται η δήλωση της συνάρτησης
add
, η οποία δέχεται δύο ακεραίους αριθμούς ως παραμέτρους και επιστρέφει έναν ακέραιο αριθμό. - Στη συνέχεια, η συνάρτηση
main
ξεκινάει την εκτέλεσή της. - Δημιουργούνται δύο μεταβλητές
x
καιy
με τιμές 3 και 5 αντίστοιχα. - Καλείται η συνάρτηση
add
και της περνάμε ως παραμέτρους τις μεταβλητέςx
καιy
. - Η συνάρτηση
add
εκτελείται και πραγματοποιεί την πρόσθεση των δύο αριθμών. - Το αποτέλεσμα της πρόσθεσης αποθηκεύεται στη μεταβλητή
sum
. - Χρησιμοποιώντας τη συνάρτηση
printf
, εκτυπώνεται στην οθόνη το αποτέλεσμα με τη χρήση της μορφοποίησης%d
για τα ακέραια αριθμητικά δεδομένα. - Το πρόγραμμα ολοκληρώνεται και επιστρέφει την τιμή 0.
Έτσι, ο κώδικας υπολογίζει το άθροισμα των δύο αριθμών 3 και 5, και το εκτυπώνει στην οθόνη ως “Το άθροισμα των 3 και 5 είναι 8”.
Η παρακάτω συνάρτηση παίρνει ένα αλφαριθμητικό με το όνομα ως παράμετρο. Όταν η συνάρτηση καλείται, περνάμε ένα όνομα, το οποίο χρησιμοποιείται μέσα στη συνάρτηση για να εκτυπώσει το μήνυμα “Hello” και το όνομα του ατόμου.
#include <stdio.h> // Δήλωση συνάρτησης που εκτυπώνει το καλωσόρισμα με βάση το όνομα που δίνεται ως όρισμα void sayHello(char name[]) { printf("Hello %s\n", name); } int main() { // Δημιουργία πίνακα χαρακτήρων για το όνομα char myName[] = "John"; // Κλήση της συνάρτησης sayHello και πέρασμα του πίνακα myName ως όρισμα sayHello(myName); return 0; }
Ο παραπάνω κώδικας εκτελεί τις παρακάτω ενέργειες:
- Ορίζει τη συνάρτηση
sayHello
, η οποία δέχεται έναν πίνακα χαρακτήρωνname
ως όρισμα και εκτυπώνει το μήνυμα “Hello” ακολουθούμενο από το όνομα που περνιέται σαν όρισμα. - Στη συνάρτηση
main
, δημιουργείται ένας πίνακας χαρακτήρωνmyName
με το όνομα “John”. - Καλείται η συνάρτηση
sayHello
και περνιέται ο πίνακαςmyName
ως όρισμα. - Η συνάρτηση
sayHello
εκτελείται και εκτυπώνει το μήνυμα “Hello John” στην οθόνη. - Το πρόγραμμα ολοκληρώνεται και επιστρέφει την τιμή 0.
Συνολικά, ο κώδικας αυτός εκτυπώνει το μήνυμα “Hello John” στην οθόνη.
[adinserter block=”2″]
Μέσα στη συνάρτηση, μπορείτε να προσθέσετε όσες παραμέτρους θέλετε:
#include <stdio.h> // Ορισμός συνάρτησης που προσθέτει τρεις ακέραιους αριθμούς int addNumbers(int x, int y, int z) { int result = x + y + z; // Υπολογισμός αθροίσματος return result; // Επιστροφή αποτελέσματος } int main() { int a = 5, b = 10, c = 15; // Δήλωση και αρχικοποίηση μεταβλητών int sum = addNumbers(a, b, c); // Κλήση της συνάρτησης addNumbers με παραμέτρους printf("The sum of %d, %d, and %d is %d\n", a, b, c, sum); // Εκτύπωση αποτελέσματος return 0; // Επιστροφή τιμής 0 }
Ο παραπάνω κώδικας στη γλώσσα C πραγματοποιεί την πρόσθεση τριών ακεραίων αριθμών και εκτυπώνει το αποτέλεσμα.
Αρχικά, ορίζεται η συνάρτηση addNumbers
η οποία παίρνει τρεις παραμέτρους τύπου int
(ακέραιους αριθμούς). Εντός της συνάρτησης, οι τρεις αριθμοί προστίθενται μεταξύ τους και το αποτέλεσμα αποθηκεύεται στη μεταβλητή result
. Τέλος, η συνάρτηση επιστρέφει την τιμή της μεταβλητής result
.
Στη συνέχεια, η συνάρτηση main
χρησιμοποιείται ως σημείο εκκίνησης του προγράμματος. Εντός της συνάρτησης, δημιουργούνται τρεις μεταβλητές a
, b
και c
, οι οποίες αρχικοποιούνται με τις τιμές 5, 10 και 15 αντίστοιχα. Στη συνέχεια, καλείται η συνάρτηση addNumbers
με τις μεταβλητές a
, b
και c
ως παραμέτρους, και το αποτέλεσμα της πρόσθεσης αποθηκεύεται στη μεταβλητή sum
. Τέλος, εκτυπώνεται το αποτέλεσμα με τη χρήση της συνάρτησης printf
, όπου εμφανίζεται η τιμή των μεταβλητών a
, b
, c
και sum
.
Έτσι, ο
κώδικας πραγματοποιεί την πρόσθεση των αριθμών 5, 10 και 15, και εκτυπώνει το αποτέλεσμα “The sum of 5, 10, and 15 is [αποτέλεσμα]”.
Όταν εκτελεστεί ο παραπάνω κώδικας, θα εμφανιστεί στην οθόνη το ακόλουθο αποτέλεσμα:
The sum of 5, 10, and 15 is 30
Αυτό συμβαίνει επειδή ο κώδικας προσθέτει τους ακέραιους αριθμούς 5, 10 και 15, και το αποτέλεσμα είναι 30. Στη συνέχεια, με τη χρήση της συνάρτησης printf
, το αποτέλεσμα εμφανίζεται στην οθόνη μαζί με τα υπόλοιπα μηνύματα.
Μπορείτε επίσης να περάσετε πίνακες σε μια συνάρτηση ως παραμέτρους:
#include <stdio.h> // Συνάρτηση που εκτυπώνει τα στοιχεία ενός πίνακα void printArray(int arr[], int size) { for(int i = 0; i < size; i++) { printf("%d ", arr[i]); } } int main() { int myArray[] = {1, 2, 3, 4, 5}; int size = sizeof(myArray) / sizeof(myArray[0]); printArray(myArray, size); // Κλήση της συνάρτησης printArray για τον πίνακα myArray return 0; }
Ο παραπάνω κώδικας πραγματοποιεί την εκτύπωση των στοιχείων ενός πίνακα στην οθόνη. Ακολουθούν τα βήματα που ακολουθεί ο κώδικας:
- Ορίζεται η συνάρτηση
printArray
που δέχεται έναν πίνακαarr
και το μέγεθος του πίνακαsize
ως παραμέτρους. Η συνάρτηση επαναλαμβάνει τον πίνακα και εκτυπώνει τα στοιχεία του. - Στη συνάρτηση
main
, ορίζεται ένας πίνακαςmyArray
με τιμές {1, 2, 3, 4, 5}. - Υπολογίζεται το μέγεθος του πίνακα
myArray
χρησιμοποιώντας τον τελεστήsizeof
και διαιρώντας το μέγεθος του πίνακα με το μέγεθος ενός στοιχείου του πίνακα. - Καλείται η συνάρτηση
printArray
με ορίσματα τον πίνακαmyArray
και το μέγεθοςsize
. Η συνάρτηση εκτελείται και εκτυπώνει τα στοιχεία του πίνακα στην οθόνη.
Έτσι, ο κώδικας εκτυπώνει τα στοιχεία του πίνακα myArray
στην οθόνη, που στην περίπτωση αυτή θα είναι: “1 2 3 4 5”.
Η λέξη-κλειδί “void”, που είδαμε στα προηγούμενα παραδείγματα, υποδηλώνει ότι μια συνάρτηση δεν επιστρέφει κάποια τιμή. Αν επιθυμείτε να έχετε μια συνάρτηση που επιστρέφει μια τιμή, μπορείτε να χρησιμοποιήσετε έναν συγκεκριμένο τύπο δεδομένων (όπως int ή float) αντί για τη λέξη-κλειδί “void” και να χρησιμοποιήσετε τη λέξη-κλειδί “return” μέσα στη συνάρτηση.
Παράδειγμα
#include <stdio.h> // Ορισμός της συνάρτησης που προσθέτει δύο αριθμούς int addNumbers(int x, int y) { int result = x + y; return result; } int main() { int a = 5, b = 10; // Δημιουργία και αρχικοποίηση δύο μεταβλητών ακεραίου int sum = addNumbers(a, b); // Κλήση της συνάρτησης addNumbers με τις μεταβλητές a και b ως ορίσματα printf("The sum of %d and %d is %d\n", a, b, sum); // Εκτύπωση του αποτελέσματος return 0; }
Ο παραπάνω κώδικας περιέχει μια συνάρτηση addNumbers
, η οποία προσθέτει δύο ακέραιους αριθμούς και επιστρέφει το αποτέλεσμα. Στη συνέχεια, στη συνάρτηση main
, δημιουργούνται δύο μεταβλητές a
και b
, οι οποίες αρχικοποιούνται με τιμές 5 και 10 αντίστοιχα. Στη συνέχεια, καλείται η συνάρτηση addNumbers
με τις μεταβλητές a
και b
ως ορίσματα, και το αποτέλεσμα αποθηκεύεται στη μεταβλητή sum
. Τέλος, με τη χρήση της συνάρτησης printf
, εκτυπώνεται το αποτέλεσμα, δηλαδή η προσθήκη των αριθμών a
και b
.
Συνολικά, ο κώδικας υπολογίζει και εκτυπώνει το άθροισμα των δύο αριθμών 5 και 10, που είναι 15.
Αυτό το παράδειγμα επιστρέφει το άθροισμα δύο παραμέτρων της συνάρτησης:
#include <stdio.h> int sum(int a, int b) { return a + b; } int main() { int x = 5; // Ορισμός της μεταβλητής x με τιμή 5 int y = 3; // Ορισμός της μεταβλητής y με τιμή 3 int result = sum(x, y); // Κλήση της συνάρτησης sum με τις μεταβλητές x και y ως ορίσματα printf("The sum of %d and %d is %d\n", x, y, result); // Εκτύπωση του αποτελέσματος return 0; }
Ο παραπάνω κώδικας ορίζει μια συνάρτηση sum
, η οποία παίρνει δύο ακέραιες παραμέτρους a
και b
και επιστρέφει το άθροισμά τους.
Στη συνέχεια, η συνάρτηση main
ορίζει τις μεταβλητές x
και y
με τιμές 5 και 3 αντίστοιχα. Στη συνέχεια, καλεί τη συνάρτηση sum
με τις μεταβλητές x
και y
ως ορίσματα και αποθηκεύει το αποτέλεσμα στη μεταβλητή result
. Τέλος, εκτυπώνει το αποτέλεσμα χρησιμοποιώντας τη συνάρτηση printf
.
Συνολικά, ο κώδικας υπολογίζει το άθροισμα των μεταβλητών x
και y
και το εκτυπώνει. Στην περίπτωση του παραδείγματος, το αποτέλεσμα θα είναι 8
, καθώς 5 + 3 = 8
.
[adinserter block=”3″]
Μπορείτε επίσης να αποθηκεύσετε το αποτέλεσμα σε μια μεταβλητή:
#include <stdio.h> int sum(int a, int b) { return a + b; } int main() { int x = 5; // Ορισμός της μεταβλητής x με τιμή 5 int y = 3; // Ορισμός της μεταβλητής y με τιμή 3 int result = sum(x, y); // Κλήση της συνάρτησης sum με τις μεταβλητές x και y ως ορίσματα printf("The sum of %d and %d is %d\n", x, y, result); // Εκτύπωση του αποτελέσματος return 0; }
Ο παραπάνω κώδικας πραγματοποιεί τις παρακάτω ενέργειες:
- Ορίζει μια συνάρτηση με όνομα
sum
, η οποία παίρνει δύο ακέραιες παραμέτρους (a
καιb
) και επιστρέφει το άθροισμά τους. - Στη συνάρτηση
main
, ορίζονται τρεις ακέραιες μεταβλητές:x
,y
καιresult
. - Η μεταβλητή
x
ανατίθεται με την τιμή 5 και η μεταβλητήy
ανατίθεται με την τιμή 3. - Η συνάρτηση
sum
καλείται με τις μεταβλητέςx
καιy
ως ορίσματα και το αποτέλεσμα αποθηκεύεται στη μεταβλητήresult
. - Χρησιμοποιώντας τη συνάρτηση
printf
, εκτυπώνεται το αποτέλεσμα, δηλαδή το άθροισμα των μεταβλητώνx
καιy
, μαζί με τις τιμές τωνx
,y
καιresult
. - Το πρόγραμμα ολοκληρώνεται με την επιστροφή της τιμής 0 από τη συνάρτηση
main
.
Έτσι, ο κώδικας υπολογίζει το άθροισμα των μεταβλητών x
και y
και το εκτυπώνει στην οθόνη. Στην περίπτωση του παραδείγματος, το αποτέλεσμα που θα εκτυπωθεί είναι “The sum of 5 and 3 is 8”.
.