Имя массива в языке программирования Си преобразуется в указатель, потому что оператор индексации массива в C определён в терминах указателей. 4
Выражение x[y] означает: начать с указателя x, пройти y шагов вперёд и взять то, что лежит на этом месте. 4 Чтобы это работало для обычного массива, имя массива должно быть сначала преобразовано в указатель на его первый элемент. 4
Кроме того, подмена имени массива на указатель связана со структурой одномерного массива в памяти, которая идентична структуре динамически созданного массива — это просто последовательность байт в памяти. 1
Однако есть исключения: например, если имя массива используется в операторе sizeof, то преобразование не выполняется. 4