Маллоц () Функција у библиотеци Ц са ПРИМЕРОМ

Преглед садржаја:

Anonim

Шта је маллоц у Ц?

Функција маллоц () означава додељивање меморије. То је функција која се користи за динамичко додељивање блока меморије. Резервира меморијски простор одређене величине и враћа нулти показивач који показује на меморијску локацију. Враћени показивач обично је типа воид. То значи да било којем показивачу можемо доделити функцију маллоц.

Синтакса

ptr = (cast_type *) malloc (byte_size);

Ево,

  • птр је показивач на цаст_типе.
  • Функција маллоц враћа показивач на додељену меморију бите_сизе.
Example: ptr = (int *) malloc (50)

Када се ова изјава успешно изврши, резервисан је меморијски простор од 50 бајтова. Адреса првог бајта резервисаног простора додељује се показивачу птр типа инт.

Размотрите још један пример примене маллоц-а:

#include int main(){int *ptr;ptr = malloc(15 * sizeof(*ptr)); /* a block of 15 integers */if (ptr != NULL) {*(ptr + 5) = 480; /* assign 480 to sixth integer */printf("Value of the 6th integer is %d",*(ptr + 5));}}

Излаз:

Value of the 6th integer is 480

  1. Приметите да је сизеоф (* птр) коришћен уместо сизеоф (инт) да би се код учинио робуснијим када се * птр декларација касније укуца у други тип података.
  2. Додјела може пропасти ако меморија није довољна. У овом случају враћа НУЛЛ показивач. Дакле, требали бисте укључити код за провјеру НУЛЛ показивача.
  3. Имајте на уму да је додељена меморија суседна и може се третирати као низ. Можемо користити аритметику показивача за приступ елементима низа уместо да користимо заграде []. Саветујемо да користите + за позивање на елементе низа, јер употреба повећања ++ или + = мења адресу коју чува показивач.

Маллоц функција се такође може користити са типом података о знаковима, као и са сложеним типовима података као што су структуре.