Еще подробнее что бы это не казалось очередными граблями: 2[a] это тоже самое что *(2 + a), a[2] это *(a + 2). В данном случае a — это указатель, т.е. число, а от перестановки слагаемых сумма не меняется.
Тут часто путают С и С++. С это не подмножество С++. Это простой и законченный язык, на нем написаны linux, windows, интерпретаторы ruby, python и т.д. Он точно в скором времени не умрет, это как кроссплатформенный ассемблер. С++ это совсем другой язык.
Сколько ищу, так и не могу найти правила склонения числительных. Например:
(им — именительный падеж, рд — родительный, ед — единственное число, мн — множественное)
1 телефон (ед, им)
2 телефона (ед, рд)
5 телефонов (мн, рд)
Но почему-то:
1 большой (ед, им) телефон (ед, им)
2 больших (мн, рд) телефона (ед, рд) // ахтунг!!! почему не совпадают числа?
5 больших (мн, рд) телефонов (мн, рд)
Где это всё формализовано?
© wikipedia
(им — именительный падеж, рд — родительный, ед — единственное число, мн — множественное)
1 телефон (ед, им)
2 телефона (ед, рд)
5 телефонов (мн, рд)
Но почему-то:
1 большой (ед, им) телефон (ед, им)
2 больших (мн, рд) телефона (ед, рд) // ахтунг!!! почему не совпадают числа?
5 больших (мн, рд) телефонов (мн, рд)
Где это всё формализовано?