Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλήσπερα ...Είμαι καινουριος στη C και θα ήθελα καποιος να μου εξηγήσει με απλά λόγια το νοήμα των δεικτών στις συναρτήσεις και πώς τους χρησιμοποιούμε ως ορίσματα... :mellow:

 

Ευχαριστώ εκ των προτέρων!!!

Δημοσ.

Απλούστατο.

 

Σε μια συνάρτηση περνάς εναν δεικτη (την τιμή ενος δεικτη) ο οποιος θα ειναι αρχικοποιημενος με την διευθυνση μνημης μιας μεταβλητης. Ωστοσο επειδη στην C ολα περνανε by value περναει ένα αντιγραφο του δεικτη και οχι ο ιδιος ο δεικτης θα κανει βεβαια την δουλεια του στην μνημη στην οποια τον εχουμε βαλει να δειχνει και το αποτελεσμα διατηρειται και μετα το τελος της συνάρτησης παρολο που το αντιγραφο δεικτη καταστρεφεται.

 

Σε αντιθετη περιπτωση αν περνουσες μια απλη μεταβλητη τοτε η μεταβλητη αυτη θα καταστρεφοταν και η τιμή δεν θα αλλαζε. Η διαφορα ειναι οτι ο δεικτης δειχνει σε μια θεση μνημης και αυτη η τιμη της διευθυνσης περναει στην συνάρτηση ακομη και αν ο δεικτης που χρησιμοποιει μεσα της η συναρτηση μεσα στο σωμα της ειναι ενα ΑΝΤΙΓΡΑΦΟ του δεικτη της κεντρικης συναρτησης (main)

 

το καταλαβαινεις? Μπορεις να γραψεις στα γρηγορα ενα παραδειγμα που το δειχνει και στην πραξη? χρησιμοποιησε την συναρτηση printf για να παρεις τα αποτελεσματα των διευθυνσεων με το %p.

 

υ.γ Δοκιμασε να γραψεις ενα δικο σου παραδειγμα και αν δεν μπορεσεις θα το δουμε μαζι.

Δημοσ.

Καλήσπερα ...Είμαι καινουριος στη C και θα ήθελα καποιος να μου εξηγήσει με απλά λόγια το νοήμα των δεικτών στις συναρτήσεις και πώς τους χρησιμοποιούμε ως ορίσματα... :mellow:

 

Ευχαριστώ εκ των προτέρων!!!

Καλησπέρα (ή μάλλον καλημέρα τέτοια ώρα :) )

 

Ίσως βρεις χρήσιμες και τις σημειώσεις στο link της υπογραφής μου.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...