Re: Why there's still ONE element left after g_slist_free () ?



american communist party gmail com wrote:
> Its old hat to C programmers that you set any object to NULL when
> you're done with it, which returns the memory used to the heap. 

That's specifically /not/ true in C:  You have to explicitly free
allocated space--setting a pointer to null doesn't automatically do the
freeing and, in fact, can simply lose the pointer making it impossible
to subsequently free the space.  Sometimes it's useful to set the
pointer to null /after/ you free the space just as a flag to yourself
that you've freed it.

> That's not necessary with languages that have garbage collection like
> Java, Python, etc.
>
> On May 13, 2009 3:56am, PenT <pentie gmail com> wrote:
> > Thanks to Yeti, tml and Pfeiffer, I finally realized what happend to
> the GSList.
> >
> > May be I'm spoiled by Python, Java that I had the strange
> SHOULD-BE-NULL thought, now I know if I need to reuse the GSList*
> variable,  the first thing is to assign NULL to it after g_slist_free
> (),  also surprised g_slist_length() didn't gave a segmentation fault
> to me, aha.
> >
> ------------------------------------------------------------------------
>
> _______________________________________________
> gtk-list mailing list
> gtk-list gnome org
> http://mail.gnome.org/mailman/listinfo/gtk-list
>   



	
	

	
	

** **


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]