nodreams.ct Δημοσ. 6 Ιουνίου 2005 Δημοσ. 6 Ιουνίου 2005 Σε κάποιο άλλο φόρουμ είχα γράψει τα εξής: (αντιγράφω γιατί βαριέμαι) Στην C δεν υπάρχει εν γένει κλήση με αναφορά, μόνο κλήση με αξία. Πιο αναλυτικά, σε μια συνάρτηση στην C είναι αδύνατον να καλέσεις την ίδια την μεταβλητή (κλήση κατ'αναφορά) μπορείς μόνο να περάσεις αντίγραφό της (κλήση κατ'αξία). Τί γίνεται όμως όταν θέλεις μια συνάρτηση να έχει πρόσβαση απευθείας σε μία θέση μνήμης; κάνεις το εξής τέχνασμα: Πολύ απλά καλείς την συνάρτηση με παράμετρο, όχι πλέον την ίδια την μεταβλητή, αλλά έναν δείκτη σ'αυτήν (=την διεύθυνση που βρίσκεται στην μνήμη). Αυτή η κλήση είναι πάλι κλήση κατ'αξία αλλά τώρα δημιουργείται προσωρινό αντίγραφο του δείκτη και όχι της μεταβλητής. Στο εσωτερικό της συνάρτησης χρησιμοποιείς το προσωρινό αντίγραφο του δείκτη για να έχεις πρόσβαση στην ίδια την μεταβλητή (*Α), κάνεις ό,τι έχεις να κάνεις και μόλις η συνάρτηση τερματίσει ο προσωρινός δείκτης καταστρέφεται αλλά η μεταβλητή σου έχει ήδη αλλάξει.
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.