Учусь в универе первый курс. Не могу понять. . обьясните что собой представляет статическое и динамическое распределние памяти ( в блоке и в куче) ? какие плюсы и какие минусы? ?
я читал-читал.. но както не совсем всё понял.
заранее благодарю!
Другие языки программирования и технологии
Программисты помогите плиз!!
динаическая память используется. когда ты точно не знаешь, сколько объектов (в массиве) у тебя будет. Это позволяет более эффективно распределить память - ее выделяется ровно столько, сколько нужно. В статической памяти ты изначально пишешь: "буду использовать 100 элементов, дай мне 100байт". И система выделят тебе 100 байт. (к примеру) . Даже если ты используешь только 2 элемента, память на остальные 98 все равно резервируется.
Минусы динамической - нужно не забыть зарезервировать ее когда есть элемент и очистить в конце. Как-то так.
Минусы динамической - нужно не забыть зарезервировать ее когда есть элемент и очистить в конце. Как-то так.
int arr1[100];//статически выделили 100 элементов, они никуда не исчезнут до конца работы функции или программы, если это глобальная переменная
int *arr2=new int[100];//динамически выделили 100 элементов, до этой строчки их не было
delete[] arr2;//и после этой их опять нет
int *arr2=new int[100];//динамически выделили 100 элементов, до этой строчки их не было
delete[] arr2;//и после этой их опять нет
Статическая память распределяется при загрузке программы (и, соответственно, автоматически возвращается системе при завершении программы) . А вот динамическую программист должен запрашивать и возвращать сам. При этом система может еще и отказать в нужном объеме памяти. Зачем же вообще заморачиваться с динамической? Ее используют, когда заранее неизвестно какой объем памяти в процессе выполнения программы потребуется и потребуется ли он вообще. А так же для того, чтобы не занимать память, которая нужна для какой-либо задачи только на время.
Ты универ точно не закончишь, начинай учить присягу, что бы время не терять.
Похожие вопросы
- Добрые программисты, помогите, плиз, с очередью в С++. В подробном изложении. Спасибо.
- программисты и просто умные люди помогите плиз
- Я начинающий программист, так что пока не очень смыслю в этом деле. Помогите плиз найти ошибки в коде. Язык php.
- программисты помогите пожалуйста!
- Программисты помогите!
- Хочу стать программистом, помогите, прочитайте обязательно описание))
- Уважаемые программисты, помогите (MS Visual Basic 6.0)
- Кто поможет, плиз, перевести изображение текста в ворд (у меня нет файнридера) ?
- Хакеры!И программисты!Сюда... плиз
- программисты помогите !