|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
07.12.2010, 19:42 | #1 | ||
любитель-далеко не
Участник клуба
Регистрация: 13.04.2010
Сообщений: 1,156
|
Динамический массив - или всё таки не динамический?
Здравия желаю))
Да-да! этот вопрос про то "как в классическом Си создать динамический массив" - и вы опять правы - в поиске полно информации , в частности - Цитата:
Цитата:
Заранее благодарю) |
||
07.12.2010, 19:47 | #2 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
для строк хорошо подойдет realloc(то есть если перестало в буфер влазить, то выделяем новый больший) Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
07.12.2010, 19:49 | #3 |
пыжашийся нуб
Пользователь
Регистрация: 19.06.2010
Сообщений: 93
|
Если ты хочешь, что бы память для следующего элемента выделялась по команде аля push_back и дописывалась в конец массива, то так делать нелья. Можно делать realloc но это по сути выделение новой памяти нужно размера и копирование старого куска туда. Большой производительности соотвественно не жди.
|
07.12.2010, 19:52 | #4 | |
Старожил
Регистрация: 21.03.2009
Сообщений: 2,193
|
Цитата:
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта Тема на форуме, посвященная ему же |
|
07.12.2010, 20:11 | #5 | |
Ubuntu 10.04
Пользователь
Регистрация: 15.07.2010
Сообщений: 51
|
Цитата:
А если все итерации цикла написать самому?) Что я имею ввиду: Код:
Код:
Язык образует среду мышления и формирует представление о том, о чем мы думаем (Б. Л. Уорф)
|
|
07.12.2010, 21:36 | #6 | ||
любитель-далеко не
Участник клуба
Регистрация: 13.04.2010
Сообщений: 1,156
|
в делфи есть
Цитата:
Код:
Цитата:
|
||
07.12.2010, 21:51 | #7 |
Пользователь
Регистрация: 22.08.2010
Сообщений: 59
|
Операция выделения новой памяти или перенос уже выделенной памяти - ресурсоёмкая задача. Её нужно избегать. Если ты заранее не знаешь, сколько памяти нужно выделить, лучше посчитай в цикле и потом уже выдели.
|
07.12.2010, 23:26 | #8 | |||
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
Цитата:
тем более скорее всего у нее есть св-во типа Capacity(св-во определяющее размер реально выделенной памяти(то есть выделяется чуть больше чем надо), тогда не каждое изменение её длины меняет реальный размер занимаемый в памяти. Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|||
08.12.2010, 00:16 | #9 |
:D
Форумчанин
Регистрация: 26.09.2010
Сообщений: 570
|
если вам строку неопределенной длины считать - string вам в помощь, или, как вариант, некоторые товарищи используют указатель на char, я этого не использовал, не знаю )
Пишу ПО, создаю сайты, делаю курсовые работы, за деньги
C#, .NET, MS SQL, AngularJS, HTML, jQuery |
08.12.2010, 02:06 | #10 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
kaljan775, и откуда ж в С классы то?
а насчет указателя так это обычный способ создания динамического массива. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Динамический массив | Golovastik | Общие вопросы C/C++ | 10 | 27.05.2010 20:36 |
Динамический массив | supra89kren | Общие вопросы C/C++ | 4 | 25.03.2010 20:23 |
Динамический массив | Lemo | Помощь студентам | 5 | 16.09.2009 06:26 |
Кэш память, или динамический массив? | slips | JavaScript, Ajax | 1 | 07.09.2009 17:38 |
Динамический массив. | Mickle | Помощь студентам | 9 | 21.06.2007 20:31 |