Инициализация массива в C

У меня есть сомнения относительно следующего фрагмента кода:

int main()
{
    int array1 = {1,2,3,4,5}; //error in c++ , warning in c
    int array2[] = {1,2,3,4,5};
    int array3[5] = {1,2,3,4,5};
}

Этот фрагмент кода выдает ошибку в строке 3 вc++ но не вc?

я знаюarray1 на самом делеint а такжеarray2 а такжеarray3 массивы, так почему бы неc компилятор показывает ошибку, но только предупреждение: «лишние элементы при скалярной инициализации»

Используется ли такое определение и почему оно действительно вc?

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

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