Почему sizeof (my_arr) [0] компилируется и равен sizeof (my_arr [0])?
Почему этот код компилируется? _Static uint32_t my_arr[2]; _Static_assert(sizeof(my_arr) == 8, ""); _Static_assert(sizeof(my_arr[0]) == 4, ""); _Static_assert(sizeof(my_arr)[0] == 4, ""); Первые 2 утверждения, очевидно, верны, но я ожидал, что последняя строка не удастся, поскольку я понимаю, что она sizeof()должна оцениваться как целочисленный литерал, который нельзя рассматривать как массив. Другими словами, произойдет …