Bounds checks.
Doug Gwyn
gwyn at smoke.BRL.MIL
Thu Dec 14 18:28:48 AEST 1989
In article <465 at cpsolv.UUCP> rhg at cpsolv.uucp (Richard H. Gumpertz) writes:
>In article <1989Dec11.181631.3864 at jarvis.csri.toronto.edu> norvell at csri.toronto.edu (Theo Norvell) writes:
>>int A[N];
>>&A[N] /* Undefined! */
>I think some special language might be required in 3.3.6 to allow &*
>without undefined results, since this is probably what the committee
>desired anyway. It would be silly to allow A+N but not &A[N]!
I seem to vaguely recall discussion of this point in some X3J11 meeting,
and it is not clear to me whether or not &A[N] being undefined was
intended or not. This is another case where an official query should
be sent to X3.
For people who didn't follow the argument, &A[N] is equivalent to &(*(A+(N)))
but *(A+(N)) is a semantic violation. (A+(N)) is okay, but applying * to
it is not okay.
If this reminds you of the sizeof(((foo*)0)->bar) argument, well...
More information about the Comp.std.c
mailing list