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