Я наткнулся на этот пример C99 массивы переменной длины в Википедии:C99 массивы переменной длины Пример Wikipedia
float read_and_process(int n)
{
float vals[n];
for (int i = 0; i < n; i++)
vals[i] = read_val();
return process(vals, n);
}
Является ли это неправильно? У меня создалось впечатление, что массивы переменной длины все еще являются просто указателями, что означает, что приведенный выше код передает устаревший указатель vals функции process (...).
Массивы не указатели. Они просто * распадаются на указатели - досадно легко, некоторые скажут. – cHao
+1 для «Массивы не указатели». См. Также раздел 6 [comp.lang.c FAQ] (http://c-faq.com) –