Есть ли функция stackalloc, реализованная на C, которая позволяет вам выделять массив переменной длины в стеке, например stackalloc в С#?
Существует ли функция stackalloc для C?
Ответ 1
Там alloca
, но он нестандартен. Более того, поскольку C99 имеет функцию под названием "Variable Length Arrays".
int n;
scanf("%d", &n);
int v[n]; /* Will fail badly if n is large. */
Используется экономно и с небольшими значениями VLA может быть довольно приятным.
Ответ 2
alloca
работает немного так, но вам нужно быть очень осторожным, используя его.