Я встречал этот пример массивов C99 переменной длины в Википедии:
float read_and_process(int n)
{
float vals[n];
for (int i = 0; i < n; i++)
vals[i] = read_val();
return process(vals, n);
}
Это неверно? У меня сложилось впечатление, что массивы переменной длины по-прежнему являются просто указателями, что означает, что приведенный выше код передает истекшие значения указателя в функцию process (...).