On 2005-08-18 22:17, Dmitry Mityugov <[EMAIL PROTECTED]> wrote: >On 8/18/05, Giorgos Keramidas <[EMAIL PROTECTED]> wrote: >>On 2005-08-18 12:08, Sergey Matveychuk <[EMAIL PROTECTED]> wrote: >>>Chuck Swiger wrote: >>>>>What is pointer coercion? I have no pointer before malloc() returns. >>>> >>>> Right. Well, malloc returns a (void *), but most people want to use the >>>> memory malloc returns to hold their own arrays, structs, whatever, which >>>> means that you need to be able to coerce the (void *) malloc gave you >>>> into whatever pointer type you want to actually use. >>>> >>>> So the memory malloc gives you needs to be aligned so that it's OK to be >>>> used for even the most restrictive datatype known to the system, >>>> commonly 8, 16, or 32 bytes. >>> >>> Pointer coercion means a type cast? I see now. >>> I read it as 'force change of pointer value' before. >> >> It may be surprising, but casting back and forth *MAY* change the value >> of the pointer. >... > > Could you back up this assertion with an example, please?
Do I really have to? The standard says that casting is only allowed from (type *) to (void *) and back to (type *). This is exactly the reason why malloc() knows (using its own "magic") what to return, so that you _can_ cast its result. _______________________________________________ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "[EMAIL PROTECTED]"