Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 02.10.2017
Сообщений: 10
1

Как инициализировать массив с переменным числом элементов?

02.10.2017, 21:11. Показов 1057. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
scanf("%i",&b);
int N[b]={0};
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.10.2017, 21:11
Ответы с готовыми решениями:

Создание массива с переменным числом элементов без new
Доброго дня. Пишу на STM32 в SW4STM32 (System Workbench for STM32). Обычная сборка на eclipse....

Как инициализировать массив в котором не все значения элементов известны
Как инициализировать массив в котором не все значения элементов известны. Допустим A :=...

Найти сумму четных элементов, переданных в функцию c переменным числом параметров
Смотрите, задание стоит просто и понятно: написать функцию, количество параметров которой не...

Напишите функцию с переменным числом параметров (среднее гармоническое элементов числового ряда)
Продемонстрировать вызов функции с различным числом параметров. Выполните вычисления для трех и...

12
94 / 41 / 23
Регистрация: 18.09.2016
Сообщений: 379
02.10.2017, 21:20 2
читайте про функцию realloc
0
Заклинатель змей
700 / 555 / 219
Регистрация: 30.04.2016
Сообщений: 2,591
03.10.2017, 08:07 3
Bimer4130,
C
1
2
scanf("%i",&b);
int N[b]={0};
Говнокод. Размер статического массива должен быть известен на этапе компиляции.
C
1
2
3
4
int * arr, len;
scanf("%d", &len);
arr = (int*) malloc(len);
 // Тут заполняете любым способом
0
3881 / 2479 / 418
Регистрация: 09.09.2017
Сообщений: 10,888
03.10.2017, 08:14 4
и в конце надо не забыть free(arr);
0
Заклинатель змей
700 / 555 / 219
Регистрация: 30.04.2016
Сообщений: 2,591
03.10.2017, 08:27 5
Bimer4130, а ещё лучше
C
1
int *arr = calloc(len,  sizeof(int));
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
7771 / 4600 / 2824
Регистрация: 22.11.2013
Сообщений: 13,080
Записей в блоге: 1
03.10.2017, 08:49 6
Цитата Сообщение от DobroAlex Посмотреть сообщение
Размер статического массива должен быть известен на этапе компиляции.
И где же у нас тут статический массив? Массив на стеке есть, а статического массива нет.
Про "должен" -- зависит от стандарта и компилятора, в C99 есть такая аббревиатура VLA.
1
Заклинатель змей
700 / 555 / 219
Регистрация: 30.04.2016
Сообщений: 2,591
03.10.2017, 10:02 7
bormant, спасибо, несколько отстал от новых веяний
0
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
03.10.2017, 11:21 8
Цитата Сообщение от DobroAlex Посмотреть сообщение
несколько отстал от новых веяний
18 лет уже как они в стандарте. А как гнушное расширение они испокон веков.
0
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
03.10.2017, 11:42 9
И все-таки попытаюсь ответить на вопрос ТС.
Можно так
C
1
2
for(i=0; i<b; i++)
  N[i] = 0;
0
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
03.10.2017, 11:59 10
Нет смысла инициализировать массив нулями в цикле. Статический можно при создании инициализировать
C
1
int arr[42] = {0};
А динамический просто с помощью вызова calloc, которая обнуляет биты выделяемой памяти.
1
94 / 41 / 23
Регистрация: 18.09.2016
Сообщений: 379
03.10.2017, 15:31 11
С реалоком лучше всего, можно создать список с последовательным хранением. Создать структуру одно поле это счётчик кол-ва элементов, 2 указатель на массив.
0
3881 / 2479 / 418
Регистрация: 09.09.2017
Сообщений: 10,888
03.10.2017, 15:43 12
realloc стоит использовать для динамических массивов. А если размер известен на этапе выполнения и потом не меняется - достаточно malloc/calloc.
0
Велосипедист...
353 / 220 / 73
Регистрация: 15.12.2015
Сообщений: 785
03.10.2017, 16:21 13
Цитата Сообщение от DobroAlex Посмотреть сообщение
C
1
2
3
int * arr, len;
scanf("%d", &len);
arr = (int*) malloc(len);
Цитата Сообщение от DobroAlex Посмотреть сообщение
Говнокод.
...
0
03.10.2017, 16:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.10.2017, 16:21
Помогаю со студенческими работами здесь

В функции с переменным числом параметров найти сумму всех элементов каждого массива
Bвести три массива чисел типа double . Первый элемент массива - количество чисел в массиве , их не...

Как получить набор с переменным числом столбцов?
Конкретно - есть запрос к БД в ответ на который надо получить число различных типов квартир на...

Как создать класс с переменным числом аргументов
Всем привет! У меня есть задача - необходимо создать окно с чекбоксами, но мне заранее не известно...

Как нарисовать вал с переменным числом ступеней
Здравствуйте еще раз, есть программа вал рисует, все отлично работает есть нюанс, как сделать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru