Δημοσιεύτηκε: 16 Σεπ 2011, 21:41
migf1 έγραψε:Α, σε ότι αφορά την ερώτηση που τους έκανες σχετικά με το πέρασμα του array στην bubble-sort, να στο πω κι εγώ στα Ελληνικά που σου είναι πιο κατανοητά.
Όταν περνάς πίνακες σε συναρτήσεις, τότε περνιέται by value ο δείκτης με το όνομα του πίνακα, που περιέχει τη διεύθυνση του 1ου στοιχείου του πίνακα. Αυτό λοιπόν είναι σαν να περνάς by reference το 1ο στοιχείο του πίνακα: arr == &arr[0] και άρα *arr == arr[0]
Όταν μέσα στη συνάρτηση γράφεις π.χ. arr[i] ο δείκτης μετακινείται στο i-οστό στοιχείο του πίνακα, και εξακολουθεί να συμπεριφέρεται σαν να επεξεργάζεσαι by refrenece το i-οστό στοιχείο του πίνακα.
Που όλο μαζί σημαίνει, πως επεξεργάζεσαι by reference όλα τα στοιχεία του πίνακα, αλλά ο δείκτης αυτός κάθε αυτός έχει περαστεί by value.
Από την άλλη, αν θέλεις να επεξεργαστείς μέσα σε μια συνάρτηση σαν by reference έναν δείκτη, θα πρέπει να περάσεις στη συνάρτηση τη διεύθυνση του δείκτη (δηλαδή δείκτη σε δείκτη)... αλλά αυτό αν δεν έχεις καταλάβει πρώτα το παραπάνω δεν πρόκειται να το καταλάβεις. Πρώτα πρέπει να καταλάβεις τα απλά στάδια πριν επιχειρήσεις να ασχοληθείς με πιο προχωρημένα.
Κοιτα... προβλημα με το περασμα δεν εχω... δηλαδη αν περνιουνται σαν τιμες ή σαν μεταβλητες. Αυτο το εχω καταλαβει... απλα εκεινο που με προβληματισε ηταν το γεγονος οτι ναι μεν την περασα σαν διευθυνση πινακα την τιμη μεσα στην κληση της συναρτησης αλλα πουθενα μεσα στην συναρτηση δεν επαιξα με δεικτες και λεω τι γινεται εδω? αυτο ηταν η βασικη απορια μου που με εκανε να ποσταρω.