Массивы переменной длины (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));