commom malloc/free practice breaks standard - author strikes back
    David Adrien Tanguay 
    datanguay at watmath.waterloo.edu
       
    Fri Oct 20 20:44:30 AEST 1989
    
    
  
In article <992 at cirrusl.UUCP> dhesi%cirrusl at oliveb.ATC.olivetti.com (Rahul Dhesi) writes:
>I, like many others, rely on the gurus in comp.lang.c for much valuable
>information.  Can somebody quote chapter and verse to show that the
>standard does require the series of casts
>
>     void * ->  OBJ *  ->  void *
>
>to yield the original pointer?
For a general pointer this is not the case, but the argument is about
pointers returned by malloc. From section 4.10.3 "Memory management functions":
	The pointer returned if the allocation succeeds is suitably aligned
	so that it may be assigned to a pointer to any type of object and
	then used to access such an object or an array of such objects in
	the space allocated (until the space is explicitly freed or
	reallocated). Each such allocation shall yield a pointer to an
	object disjoint from any other object. The pointer returned points
	to the start (lowest byte address) of the allocated space.
I don't see anything there (or anywhere in 4.10.3.*) that asserts the above
series of casts.
David Tanguay
    
    
More information about the Comp.std.c
mailing list