|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
10.02.2010, 18:41 | #1 |
Пользователь
Регистрация: 19.11.2009
Сообщений: 15
|
В чем разница между malloc и calloc ?
Не совсем разобрался в чем разница между malloc и calloc ?
Не могли бы объяснить..Оба они служат для выделения памяти , но в чем разница ? |
10.02.2010, 18:49 | #2 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,065
|
malloc используется обычно для выделения памяти под одиночные элементы, а calloc - под массивы. В принципе можно и так написать:
malloc(20*sizeof(int)); и можно так: calloc(20, sizeof(int)); Кроме того, malloc возвращает указатель на "мусор", а calloc обнуляет байты, за счет чего malloc должен работть быстрее. |
10.02.2010, 21:45 | #3 |
Пользователь
Регистрация: 19.11.2009
Сообщений: 15
|
|
10.02.2010, 21:55 | #4 |
Студент 1 курса
Форумчанин Подтвердите свой е-майл
Регистрация: 27.06.2008
Сообщений: 959
|
Это значит что указывает на какое место в адресном пространстве которое не было инициализировано.
C++(STL, QT, WinInet) / DHTML(CSS) / JavaScript / PHP Developer
|
10.02.2010, 21:56 | #5 |
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
|
10.02.2010, 22:01 | #6 |
Software Engineer
Участник клуба
Регистрация: 07.04.2007
Сообщений: 1,618
|
malloc возвращает указатель на адрес памяти, по которому может быть записано что угодна, т.к. мы не знаем что там записано - для нас этом "мусор" и перед использованием этой памяти нам обязательно надо ее инициализировать, т.е записать какое-то значение.
calloc сама инициализирует выделенную память нулями и возвращает на нее указатель и, хотя пользы от памяти, заполненной нулями, не много, это уже не мусор и я опоздал =) как много желающий поковыряться в мусоре =)))
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
В чем разница между С и С++? | Freddy Krjuger | Общие вопросы C/C++ | 1 | 14.11.2009 21:23 |
В чем разница между библиотеками компонентов VCL и WinForms (Delphi)? | Denis L. | Общие вопросы Delphi | 2 | 04.11.2009 21:10 |
Разница между временем | asd48 | Microsoft Office Excel | 1 | 05.06.2009 23:44 |
Разница между датами | kykysya | Общие вопросы Delphi | 8 | 26.03.2009 18:22 |
Разница между датами | deenka | БД в Delphi | 3 | 31.01.2008 13:21 |