Существует ли функция stackalloc для C?

Есть ли функция stackalloc, реализованная на C, которая позволяет вам выделять массив переменной длины в стеке, например stackalloc в С#?

Ответ 1

Там alloca, но он нестандартен. Более того, поскольку C99 имеет функцию под названием "Variable Length Arrays".

int n;
scanf("%d", &n);
int v[n]; /* Will fail badly if n is large. */

Используется экономно и с небольшими значениями VLA может быть довольно приятным.

Ответ 2

alloca работает немного так, но вам нужно быть очень осторожным, используя его.