• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

В чем разница статического и динамического распределения памяти?

Shelldy

Well-known member
11.02.2020
49
0
Учусь программированию и в данный момент изучаю C++. Хотел бы узнать, чем отличается динамическое распределение памяти от статического.
 
Решение
Учусь программированию и в данный момент изучаю C++. Хотел бы узнать, чем отличается динамическое распределение памяти от статического.
если простым языком, то статическое выделяет память под определенное количество байтов, и ему не важно заполнили вы его или нет. То есть если вы создали массив под 5 чисел, а ввели в массив только 2 числа, то все остальная память будет заполнена мусором. В динамическом же распределении вы указываете только максимальный размер , но при этом если вы используете меньше памяти , то остальная часть остается свободной, и так сказать зарезервированной

обычно это объясняют , даже в обычных статьях или методичках
Учусь программированию и в данный момент изучаю C++. Хотел бы узнать, чем отличается динамическое распределение памяти от статического.
Не знаю СИ. Но предположу что статическое - это заданное значение выделения памяти,а динамическое - сколько нужно памяти,столько и будет выделено.
 
Учусь программированию и в данный момент изучаю C++. Хотел бы узнать, чем отличается динамическое распределение памяти от статического.
если простым языком, то статическое выделяет память под определенное количество байтов, и ему не важно заполнили вы его или нет. То есть если вы создали массив под 5 чисел, а ввели в массив только 2 числа, то все остальная память будет заполнена мусором. В динамическом же распределении вы указываете только максимальный размер , но при этом если вы используете меньше памяти , то остальная часть остается свободной, и так сказать зарезервированной

обычно это объясняют , даже в обычных статьях или методичках
 
Решение
Хотел бы узнать, чем отличается динамическое распределение памяти от статического.
Статическая память выделяется на этапе компиляции программы, т.е нельзя выделить её после загрузки приложения в память. А для динамического резерва, в системе имеются специальные аллокаторы, и функции Win32-API типа HeapAlloc() и VirtualAlloc(). Они позволяют выделять страницы виртуальной памяти в любой момент, по требованию.
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab