Язык Си не пойму как работает этот массив?
Через константу мы задаём размер массива, потом мы делаем функцию for (которая изменяет переменную i), а в самом цикле мы записываем в массив A[i] , почему это всё правильно работает? Ведь i изменяется и так в цикле, я непойму почему можно прям взять и написать A[i] ? ведь мы обьявили A[N] // ну ладно это массив, но почему можно взять и написать A[i]?

При объявлении масива в квадратных скобках указывается максимальное количество элементов масива. В вашем случае int A[N]; означает что создается масив из 10 интежеров, потому что N у нас равно 10. А в программе A[i] означает доступ к определенному элементу масива номер которого находится в переменной i. A[1] - будет первый элемент масива A[5] - будет пятый элемент масива. У вас же в цикле i увеличивается на 1 и соответствеено по очереди будут перебранны все элементы масива.
в объявлении пишется константа где мы пишем количесво элементов, а в коде в качестве индекса может быть и переменная которая указывает номер в этом массиве
Да, так принято в программировании. Обращение к элементам массива по имени массива и индексу.
A - это имя.
i- индекс. Синтаксис -A[i].
А вот синтаксис обьявления массива - int A[N]; //N заранее обьявлен константой
почему работает? Так для этого и есть интернет. Таких вопросов будет куча. Для этого надо вопрос задавать в поисковике и читать, читать, читать пока не поймешь, надо грузить поисковик, а не грузить других. Ну а если читать лень, так и на свои вопросы ответы не получишь. Не обижайся, есть поговорка, кто ищет, тот всегда найдет, тем более с доступом в интернет...