Массивы переменной длины (VLA) - это..?

Тут пишу программу, которая в общем-то сортирует слова в строке. В задании сказано, что:

запрещено использование массивов переменной длины (VLA).

Если что, пишу я на СИ.

Я вот не совсем понимаю, что значит VLA. Это типо malloc и тому подобное? Или что-то еще?

Заранее благодарю.


Ответы (1 шт):

Автор решения: Harry

Это когда вы пишете что-то вроде

int n;
scanf("%d",&n);
int a[n];

Т.е. массив, объявленный именно как массив, но размер которого определяется во время работы, а не во время компиляции.

С malloc — это несколько другое, это динамическое выделение памяти для массива:

int n;
scanf("%d",&n);
int *a = malloc(n*sizeof(int));
→ Ссылка