Re: c/9762: Address of 'char' is incorrect.
stephen.kennedy@havok.com wrote:-
> In the example below, '&a' is the address of a local copy of 'a' not of 'a'.
> if the type of 'a' is changed to int, it works as expected.
Works as who expected? Where is the bug? Please quote which part of
the C standard is violated. You got an address, why are you unhappy?
Neil.
> #define TA char
> #define TB int
> #define TC int
>
> void foobar(TA a, TB b, TC c);
>
> int main()
> {
> foobar(1,2,3);
> return 0;
> }
>
> void foobar(TA a, TB b, TC c)
> {
> printf("a == %i claims %x\n", a, &a);
> printf("a == %i really %x\n", (&b)[-1], (&b)-1);
> printf("b == %i %x\n", b, &b);
> printf("c == %i %x\n", c, &c);
> }
Reply to: