rambo12345 Δημοσ. 6 Δεκεμβρίου 2015 Δημοσ. 6 Δεκεμβρίου 2015 Άλλη μια απορία. Δουλεύω ένα project στη C για τη σχολή και σε ένα σημείο ζητάει να διαγράφω στοιχεία από πίνακα (που η μνήμη του έχει δεσμευτεί δυναμικά με malloc() )και μετά να αποδεσμεύω τη μνήμη (αυτό ξέρω να το κάνω). Δοκίμασα να βάλω array=NULL; όμως βάζει το 0. Πως γίνεται;
groot Δημοσ. 6 Δεκεμβρίου 2015 Δημοσ. 6 Δεκεμβρίου 2015 Εάν θέλεις να έχεις το NULL τότε θα πρέπει ο πίνακάς σου να έχει δεδομένα που να μπορούν να πάρουν το NULL ως τιμή. Συνήθως, τέτοια είναι οι δείκτες. Νομίζω ότι αυτό που ψάχνεις είναι πολύ σχετικό με το type casting
the other one Δημοσ. 6 Δεκεμβρίου 2015 Δημοσ. 6 Δεκεμβρίου 2015 Υποθέτω πως το array σου έχει στοιχεία τύπου pointer αλλιώς δεν έχει και πολύ νόημα το "σβήνω". Αν είναι έτσι τότε απλά κάνεις ένα free και αν θες το κάνεις assign και σε NULL όπως λες. Το NULL δεν είναι τίποτα άλλο από ένα alias του 0 απλά το λες έτσι όταν μιλάς για pointers. Δεν είναι κάτι special.
defacer Δημοσ. 6 Δεκεμβρίου 2015 Δημοσ. 6 Δεκεμβρίου 2015 Άλλη μια απορία. Δουλεύω ένα project στη C για τη σχολή και σε ένα σημείο ζητάει να διαγράφω στοιχεία από πίνακα (που η μνήμη του έχει δεσμευτεί δυναμικά με malloc() )και μετά να αποδεσμεύω τη μνήμη (αυτό ξέρω να το κάνω). Να αποδεσμεύεις ποιά μνήμη; Γιατί και τα δυο μαζί αυτά που έγραψες εμένα με αφήνουν μπερδεμένο.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα