Почему массивы в Си распадаются на указатели?

[Это вопрос, вдохновленный недавним обсуждением в другом месте, и я предоставлю ответ прямо с ним.]

Я задавался вопросом о странном феномене C, когда массивы "распадаются" на указатели, например при использовании в качестве аргументов функции. Это просто кажется небезопасным. Также неудобно передавать длину явно с ним. И яМожно передать другой тип совокупности - структуры - на отлично; структуры не разлагаются.

Что является обоснованием этого дизайнерского решения? Как это интегрируется с языком? Почему есть разница в структурах?

Ответы на вопрос(3)

Ваш ответ на вопрос