У меня создалось впечатление, что объявления с переменным размером не были возможны на C89. Но при компиляции с clang -ansi
я могу запустить следующий код:Использование sizeof() в объявлениях массивов в C89
double array[] = { 0.0, 1.0, 2.0, 3.0, 4.0 };
double other_array[sizeof(array)] = { 0.0 };
Что здесь происходит? Разве это не считается объявлением массива переменного размера?
whaoppps, editied –
Там нет массивы переменного размера в C89, поэтому он не может рассматриваться как объявление массива переменной величины. , –