Я должен прочитать несколько значений от пользователя и сохранить их в массиве. Затем мне нужно создать массив, который достаточно велик, чтобы хранить все эти значения. Используя некоторые функции, я написал I sort/lsearch/bsearch через массив для заданных значений.Динамическое смещение пула памяти
У меня уже есть моя программа, написанная и все, но для реализации статического массива. Я немного запутался в том, где реально использовать динамический массив.
Имеет смысл использовать его, когда пользователь начинает вводить значения, так как я не могу предположить, сколько значений он вводит, поэтому массив должен быть достаточно большим, чтобы удерживать его. Также имеет смысл (Сортировка) использовать его, когда я создаю достаточно большой массив, который может удерживать все значение (действует как копия первого массива).
Я не прошу ни о каком коде, все сделано, но на статическом подходе. Я просто пытаюсь представить себе, где мне нужно использовать darrays здесь. Мои мысли:
- Когда пользователь вводит первое значение
- Когда я скопировать arr1 в новый arr2, который должен быть достаточно большим, чтобы вместить все значения arr1 в.
Я прав или неправильно?
Показать, что у вас есть. Не совсем понятно, чего вы хотите достичь. – Olaf
вам нужно calloc и realloc – pm100
Поскольку вам нужно учитывать ввод размера, который вы не можете надежно предсказать (привязка) во время компиляции, вам нужно использовать динамическую структуру данных для хранения начального ввода. При чтении ввода вам понадобится расширить его. Если вам нужно сделать копию входных данных, вам понадобится вторая динамическая структура данных для ее хранения, но вам может и не понадобиться изменять ее размер. Динамически распределенные массивы представляют собой один из разновидностей потенциально подходящей структуры данных; есть и другие. –