|
В языке С индексное выражение
E1[E2]
эквивалентно
*(E1+E2)
и соответственно
E2[E1]
Где одно из E(E1 или E2) должно быть адресом,
а другое - целым.
Поэтому приведенный фрагмент
a = 0x0A;
b = a["0123456789ABCDEF"]; // b='A'
Эквивалентен
"0123456789ABCDEF"[a]
т.е. в данном конкретном случае:
"0123456789ABCDEF"[10]
Для тех кто "не привык к Си" или не знает теории,
легче понять такое:
char HexTable[16] = "0123456789ABCDEF";
char a = 10; // 10 = 0x0A
char b = HexTable[a];
E-mail: info@telesys.ru