Pointers in comparison expressions
Andreas Schwab
schwab@suse.de
Tue Jul 12 21:00:00 GMT 2005
"Dave Korn" <dave.korn@artimi.com> writes:
> Since pointer subtraction is well defined, and it returns an int, then ...
>
> int *a, *b;
>
> if (a < b)
> dosomething ();
>
> ... is just the same as ...
>
> int *a, *b;
>
> if ((b - a) >= 0)
> dosomething ();
This may not work correctly if ((char*) b - (char*) a) % sizeof int != 0
(which can happen if __alignof__ int < sizeof int).
Andreas.
--
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux Products GmbH, MaxfeldstraÃe 5, 90409 Nürnberg, Germany
Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
More information about the Gcc
mailing list