Conan_Doyle_SBINH
@Conan_Doyle_SBINH
Лентяй, но не ленивый

Ввод длины значения массива?

Нужно это, но это не работает
const int n;
cin >> n;
int arr[n];
  • Вопрос задан
  • 176 просмотров
Решения вопроса 2
@res2001
Developer, ex-admin
То как вы хотите определить массив называется VLA (массив переменной длины).
Эта шутка появилась только в C99 и выше. В С++ их нет.
Но даже и в программах на Си не все компиляторы их поддерживают, например в MSVC, по моему, до сих пор не реализовано. Правда микрософт и не заявляет о полной поддержке стандартов Си.

Так что в С++, как уже было сказано в комментариях, используйте либо динамические массивы, либо std::vector.
Ответ написан
Комментировать
@magdest
#include < iostream >

Int nn = 10;//начальный размер массива(адресация с ноля)
Int *mm = (Int*)malloc(nn * sizeof(Int)); //создаю динамический массив int.
mm[0] = 34;//загоняю значения в массив int.
nn = 100;//новый размер массива.
mm = (Int*)realloc(mm, nn * sizeof(Int));//изменяю размер массива.
free(mm);//освобождаю память массива.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы