2016-12-12 2 views

ответ

1

Что касается памяти, используемой вашим кодом, и при условии, что sizeof(int) на вашей целевой системе - 4, оба ответа - «да». Тем не менее, два дополнительные соображения относятся:

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

Это становится важным, когда вы звоните malloc несколько раз: например, при вызове malloc(10) 1000000 раз, объем используемой памяти может снизиться на несколько дополнительных мегабайт, по сравнению с ожидаемым 10MB + накладные расходы malloc «s.

Смежные вопросы