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

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

Δημοσ.

Άλλη μια απορία. Δουλεύω ένα project στη C για τη σχολή και σε ένα σημείο ζητάει να διαγράφω στοιχεία από πίνακα (που η μνήμη του έχει δεσμευτεί δυναμικά με malloc() )και μετά να αποδεσμεύω τη μνήμη (αυτό ξέρω να το κάνω).

Δοκίμασα να βάλω array=NULL; όμως βάζει το 0. Πως γίνεται;

Δημοσ.

Εάν θέλεις να έχεις το NULL τότε θα πρέπει ο πίνακάς σου να έχει δεδομένα που να μπορούν να πάρουν το NULL ως τιμή.  Συνήθως, τέτοια είναι οι δείκτες. 

 

Νομίζω ότι αυτό που ψάχνεις είναι πολύ σχετικό με το type casting :) 

Δημοσ.

Υποθέτω πως το array σου έχει στοιχεία τύπου pointer αλλιώς δεν έχει και πολύ νόημα το "σβήνω". Αν είναι έτσι τότε απλά κάνεις ένα free και αν θες το κάνεις assign και σε NULL όπως λες. Το NULL δεν είναι τίποτα άλλο από ένα alias του 0 απλά το λες έτσι όταν μιλάς για pointers. Δεν είναι κάτι special.

Δημοσ.

Άλλη μια απορία. Δουλεύω ένα project στη C για τη σχολή και σε ένα σημείο ζητάει να διαγράφω στοιχεία από πίνακα (που η μνήμη του έχει δεσμευτεί δυναμικά με malloc() )και μετά να αποδεσμεύω τη μνήμη (αυτό ξέρω να το κάνω).

 

Να αποδεσμεύεις ποιά μνήμη; Γιατί και τα δυο μαζί αυτά που έγραψες εμένα με αφήνουν μπερδεμένο.

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

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

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

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

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

Σύνδεση

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

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