malloc(10)
выделить 10 байт памяти? И malloc(10 * sizeof(int))
выделить 40 байт памяти?Что такое: malloc (10) и malloc (10 * sizeof (int))
1
A
ответ
1
Что касается памяти, используемой вашим кодом, и при условии, что sizeof(int)
на вашей целевой системе - 4, оба ответа - «да». Тем не менее, два дополнительные соображения относятся:
malloc
использует небольшое количество памяти для учета блоков, которые он выделяет для вашей программы, в результате чего некоторые зависящая от реализации накладных расходов- внутренни
malloc
может выделить больше памяти, чем код запросил. Хотя дополнительная память не используется вашим кодом, она становится недоступной для дальнейших распределений.
Это становится важным, когда вы звоните malloc
несколько раз: например, при вызове malloc(10)
1000000 раз, объем используемой памяти может снизиться на несколько дополнительных мегабайт, по сравнению с ожидаемым 10MB + накладные расходы malloc
«s.
Смежные вопросы
- 1. malloc (sizeof (int)) vs malloc (sizeof (int *)) vs (int *) malloc (sizeof (int))
- 2. Ошибка шины: 10. C-код, пример malloc
- 3. Зачем использовать sizeof (int) в вызове malloc?
- 4. p-> data = (int *) malloc (sizeof (int)); сравнить с (int *) p-> data = (int *) malloc (sizeof (int));
- 5. Что делает (int *), прежде чем malloc означает?
- 6. Malloc и bus 10 ошибка времени выполнения C
- 7. «malloc (sizeof (struct a *))» и «malloc (sizeof (struct a))« то же самое?
- 8. using sizeof (void) внутри malloc
- 9. Что такое разные функции: `malloc()` и `kmalloc()`?
- 10. Что касается указателей и ошибок malloc
- 11. C: Malloc и Free
- 12. связанные списки и Malloc
- 13. Как использовать malloc для двухмерного массива структур? (ошибка шины: 10)
- 14. Почему компилятор предполагает, что malloc возвращает int?
- 15. malloc и указатели на указатели
- 16. char ** array = malloc (sizeof (char *) * len) vs malloc (sizeof (char) * len)
- 17. Malloc и перераспределить массив структур
- 18. Использование malloc и sizeof для указателя на класс C++
- 19. Malloc и массивы
- 20. Функция malloc возвращает NULL ... но только 10 первых раз
- 21. Malloc и strncpy
- 22. Сложное использование malloc
- 23. Malloc и бесплатная ошибка
- 24. malloc и calloc
- 25. Does sizeof возвращает размер выделения памяти malloc?
- 26. C: malloc(), free(), а затем снова malloc() работает одинаково всегда?
- 27. Невозможно правильно освободить malloc другого malloc
- 28. strcat и malloc
- 29. Malloc-Динамическое распределение памяти
- 30. Malloc и класс