Я столкнулся с другим способом доступа к элементу массива сегодня. Мне просто интересно, если это правильный способ доступа к элементу массива.Доступ к элементу массива в C
Вот мой код,
#include <stdio.h>
int main(int argc, char* argv[])
{
int arr[4] = {4, 5, 6, 7};
printf ("---> %d \n", 2[arr]);
return 0;
}
Ниже приводится выход,
---> 6
Я думал, что программа не будет компилироваться, но это сделал! Я попытался скомпилировать его в Linux и Windows, и он отлично работает на обоих. Экспертные взгляды на это?
'2 [arr] == arr [2]' –
'i [arr] == arr [i]' потому что '* (arr + i) == * (i + arr)'. – Maroun
[Арифметика Array является коммутативной в C] (http://c-faq.com/aryptr/joke.html) –