- Για να ορίσουμε ότι μια παράμετρος συνάρτησης είναι πίνακας
γράφουμε τον ορισμό του πίνακα στις παραμέτρους της συνάρτησης.
Η πρώτη διάσταση του πίνακα μπορεί να παραληφθεί.
Παράδειγμα:
/*
* Return the sum of a vector v elements.
* The vector contains n elements.
*/
double
vector_sum(double v[], int n)
{
int i;
double sum = 0.0;
for (i = 0; i < n; i++)
sum = sum + v[i];
return (sum);
}
- Για να περάσουμε έναν πίνακα ως όρισμα σε μια συνάρτηση
γράφουμε απλώς το όνομά του στις παραμέτρους.
Παράδειγμα:
double v[100];
/* [...] */
printf("Sum = %g\n", vector_sum(v, 100));
- Όταν περνάει ένας πίνακας ως όρισμα σε συνάρτηση δεν περνάει ένα
αντίγραφο της τιμής του, όπως όταν περνάει μια απλή μεταβλητή,
αλλά μια αναφορά (reference) στον ίδιο τον
πίνακα.
Αλλαγές στα στοιχεία του πίνακα που γίνονται μέσα στη συνάρτηση
αναφέρονται στον πίνακα που πέρασε ως όρισμα.
Ο τρόπος αυτός κλήσης λέγεται
κλήση κατ' αναφορά (call by reference).
Παράδειγμα:
/*
* Set all n elements of vector v to the value d
*/
void
vector_setvalue(double v[], int n, double d)
{
int i;
for (i = 0; i < n; i++)
v[i] = d;
}
main()
{
double vals[50];
/* Zero vals */
vector_setvalue(vals, 50, 0.0);
}