Δημοσιεύτηκε: 21 Ιούλ 2011, 12:48
migf1 έγραψε:stamatiou έγραψε:migf1 έγραψε:Α, αυτή είναι η list_destroy() βρε συ... είπες list_print() και μπερδεύτηκα.
Στο 5ο μέρος έχω αλλάξει την δομή της λίστας, όπως αναλύω και στο tutorial. Οπότε η list δεν είναι πια δείκτης σε Node, αλλά είναι μια μεταβλητή τύπου List. Άρα όταν την περνάμε by reference της έχουμε έναν μόνο αστέρι στο σώμα της συνάρτησης.
Ουπς, κοσάνα μου ::opps::
Δηλαδή μπορώ να το σκεφτώ ότι μιας και το header που χρησιμοποιείται είναι δείκτης, όταν βάλω αστερίσκο και στο list είναι σαν να προσθέτω τους 2 αστερίσκους;
Όχι, όχι!
Αν αν ο list είναι περασμένος by valueτότε για να αναφερθείς στον head (που είναι μέσα στον list) γράφεις: list.head
Αν αν ο list είναι περασμένος by reference τότε για να αναφερθείς στον head (που είναι μέσα στον list) γράφεις: list->head
Δεν ξέρω αν είναι αυτό που ρωτάς. Αν είναι κάτι άλλο, ρώτα λίγο πιο συγκεκριμένα για να καταλάβω.
Εννοώ πώς μπορώ να το σκέφτομαι ότι είναι by reference, ότι το head μιας και είναι ήδη δείκτης έχω ένα αστερίσκο μπροστά του και προσθέτω και άλλον ένα επειδή στην παρένθεση πέρασα ώς List *list.