maniac89 Δημοσ. 16 Αυγούστου 2008 Δημοσ. 16 Αυγούστου 2008 μπορεί να δώσει κάποιος παράδειγμα πως μπορώ να περάσω σε μια συνάρτηση σαν όρισμα έναν πίνακα να αλλάξω τα στοιχεια του πίνακα και να επιστρέψω ολόκληρο τον πίνακα; δηλαδή το όλο πρόβλημα είναι πώς επιστρέφει μια συνάρτηση έναν ολόκληρο πίνακα... προκαταβολικά thanks!!!
alex2005 Δημοσ. 16 Αυγούστου 2008 Δημοσ. 16 Αυγούστου 2008 Για ρίξε μία ματιά εδώ: http://www.eskimo.com/~scs/cclass/notes/sx10f.html
we_will_rise Δημοσ. 17 Αυγούστου 2008 Δημοσ. 17 Αυγούστου 2008 θα στείλεις το όνομα του πίνακα, και το μέγεθος του σε ΔΕΙΚΤΕΣ πχ και στην συνάρτηση θα τα λάβεις με & και θα τα πειράξεις όσο θέλεις. !!
sotirakis.net Δημοσ. 17 Αυγούστου 2008 Δημοσ. 17 Αυγούστου 2008 Έχει στάνταρ μέγεθος ο πίνακας ή καθορίζεται δυναμικά το μέγεθός του ; Αν έχει στάνταρ μέγεθος (π.χ. Χ[10]), τότε απλά τον δίνεις ως όρισμα στη συνάρτηση. Αν έχει δυναμικό (π.χ. *X), τότε θα πρέπει να περάσεις τον δείκτη και τη διάσταση του πίνακα.
Επισκέπτης Δημοσ. 18 Αυγούστου 2008 Δημοσ. 18 Αυγούστου 2008 Έχει στάνταρ μέγεθος ο πίνακας ή καθορίζεται δυναμικά το μέγεθός του ;Αν έχει στάνταρ μέγεθος (π.χ. Χ[10]), τότε απλά τον δίνεις ως όρισμα στη συνάρτηση. Αν έχει δυναμικό (π.χ. *X), τότε θα πρέπει να περάσεις τον δείκτη και τη διάσταση του πίνακα. Σε κάθε περίπτωση (είτε είναι dynamic allocated είτε έχει standard μέγεθος) θα πρέπει εκτός από το όνομα του πίνακα (που είναι ένας δείκτης στο πρώτο στοιχείο του πίνακα) να περάσει στην συνάρτηση και το μέγεθος του πίνακα. Μια συνάρτηση με το παρακάτω ANSI prototype: > void sum_array(const int x[10], int n); είναι ακριβώς το ίδιο με τα παρακάτω prototypes: > void sum_array(const int x[], int n); void sum_array(const int *x, int n); οπότε πάντα πρέπει να περάσει στη συνάρτηση το μέγεθος του πίνακα. Ένας άλλος τρόπος είναι με την χρήση δείκτη σε πίνακα (πχ. 10 στοιχείων) και όχι στο πρώτο στοιχείο του πίνακα. Για παράδειγμα: > void sum_array(const int (*x)[10]); Σε αυτήν την περίπτωση δεν χρειάζεται να περάσουμε το μέγεθος του πίνακα. ΠΡΟΣΟΧΗ: Σε συνάρτηση που έχει το prototype του τελευταίου παραδείγματος μπορούμε να περάσουμε μόνο πίνακες 10 στοιχείων Ελπίζω να βοήθησα, Good luck
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.