"Dave Korn" <[EMAIL PROTECTED]> writes: > I think he's saying that _this_ one might generate invalid code: > > void test(void) > { > union { int i; double d; } u; > int *ip; > double *dp; > int ii; > double dd; > > dp = &u.d; > ip = &u.i; > *ip = 15; > ii = *ip; > *dp = 1.5; > dd = *dp; > printf("ii=%d dd=%f\n", ii, dd); > }
That function is valid too. Here is an example of an invalid function: void test(void) { union { int i; double d; } u; int *ip; double *dp; int ii; double dd; dp = &u.d; ip = &u.i; *ip = 15; *dp = 1.5; ii = *ip; dd = *dp; printf("ii=%d dd=%f\n", ii, dd); } Ian