[Uneex] Re: [Uneex] Re: [Uneex] Что позволяет C
Vladimir Prus
uneex@cs.msu.su
Mon, 17 Dec 2001 12:10:35 +0300
Mike E. Matsnev wrote:
> On Mon, Dec 17, 2001 at 11:35:46AM +0300, Peter Novodvorsky wrote:
> > Mike> Даа... Из K&R: ======= Rather more surprising, at first
> > Mike> sight, is the fact that a reference to a[i] can also be
> > Mike> written as *(a+i). In evaluating a[i], C converts it to
> > Mike> *(a+i) immediately; the two forms are equivalent. =======
> >
> > Однако про i[a] тут ничего сказано не было.
>
> Тут сказано, что для любых X и Y, X[Y] преобразуется в *(X+Y).
Какой ужас! Неужели "abc"[2] == 2["abc"] даже в ANSI C99?
"gcc-3.0 -std=iso9899:1999 foo.c" такое позволяет!
Хорошо, что не приходится писать на С!
- Volodya