Square Brackets in C
In C, square brackets ([]) are a shorthand notation for pointer arithmetic. For example, a[i] is the same as *(a + i), which means that you can use i[a] instead, since addition is commutative.
Perhaps you are wondering in what situation i[a] would be preferred over a[i]. Well, in the Chromium project 1, the notation of 0[x] is used to get the length of a C array:
The 0[x] notation here prevents the misuse of COUNT_OF on C++ types that overloads operator[]().
When I shared this with my friend, he asked me in what situation would COUNT_OF(x) be used, given that the size of C arrays is known at compile time. (except for Variable Length Arrays (VLAs), which are typically not used in production code)
I searched the Chromium codebase 2 and found that COUNT_OF(x) is used to determine the size of arrays that are initialized from brace-enclosed lists: