Кључна разлика: 'Цаллоц' и 'Маллоц' се односе на перформансе динамичке алокације меморије у Ц програмском језику. 'Цаллоц' иницијализује додељену меморију са нула, док 'маллоц' не.
И 'цаллоц' и 'маллоц' су стандардне библиотечке функције.
Његова синтакса је следећа:
воид * цаллоц (нумбер_оф_блоцкс, сизе_оф_еацх_блоцк_ин_битес);
Овде 'воид' је општа Ц функција, која не враћа никакву вредност. Број елемената у првом аргументу одређује величину једног елемента у бајтовима за други аргумент. Адреса се враћа након успешног партиционисања, у супротном се враћа НУЛЛ на било ком отказивању функције.
Његова синтакса је следећа:
воид * маллоц (сизе_ин_битес);
Конкретно, враћа адресу на генерички начин (воид *). Ако 'маллоц' не успе да додели меморију, она враћа -1, у супротном враћа адресу са које је меморија додељена. Додељена меморија може бити у облику целог броја, по типу слања воид адресе као инт *; додељена меморија такође може бити у облику флоат-а, само по типу који даје исту воид-адресу као флоат *.
Поређење између Цаллоц-а и Маллоц-а:
Цаллоц | Маллоц | |
Основне функције | Функција библиотеке алоцира регион меморије, који је довољно велик да држи сваки "н" елемената "величине" бајтова. | Функција библиотеке додељује само "величину" бајтова меморије. |
Инитиализатион | Он иницијализује садржај меморије на нулу. | Он не иницијализује садржај меморије у нуле. |
Број аргумената | Овде постоје два аргумента. | Овде постоји само један аргумент. |
Додељене вредности | Додељени регион је иницијализован на нулу. | Садржај додељене меморије се не мења, односно, меморија садржи непредвидиве или смеће, што ствара ризик. |
Враћа вредност | воид поинтер (воид *). Након успешне алокације, враћа се показивач на блок меморије. | воид поинтер (воид *). Након успешне алокације, враћа се показивач на блок меморије. |