Home > DeveloperSection > Interviews > Malloc , calloc, free and realloc in C

Posted on    October-29-2016 12:37 AM

 .NET Computer Science 
Ratings:
 1 Answer(s)
  75  View(s)
Rate this:

Abhishek Srivasatava
Abhishek Srivasatava

Total Post:70

Points:350
Posted on    October-29-2016 12:37 AM

Malloc

By using malloc we can create one block of memory requested dynamically which can be used as array etc. and return a pointer to 1st byte.

Here is the small program to learn how to use malloc function.

int main() 
{
int *num_mal; int num,i; printf(“Enter the number of element”); scanf(“%d”,&n); printf(“Enter the number of element”); scanf(“%d”,&n);
                   num_mal= (int*)malloc(num*(sizeof(int)));
                   for(i=0;i<5;i++)
                   {
                   num_mal[i]=1;
                   }
                   for(i=0;i<5;i++)
                   {
                   printf("%d",num_mal[i]);
                   }
                   }


Calloc:

By using Calloc  we can create multiple  block of memory requested dynamically which can be used as array etc. it fills the memory to zero and and return a pointer to 1st byte.

Calloc initialize the memory to zero.

Here is the small program to learn how to use calloc function.

int main() 
{
                   int *num_cal;
                   int num,i;
                   printf(“Enter the number of element”);
          scanf(“%d”,&n);
                   num_cal= (int*)calloc(num,(sizeof(int)));
                   for(i=0;i<5;i++)
                   {
                   num_cal[i]=1;
                   }
                   for(i=0;i<5;i++)
                   {
                   printf("%d",num_cal[i]);
                   }
                   }


Free Function:

To release the memory we need to use Free function;

Syntax: free(num_mal);

 

Realloc function:

When we need to change the size of the memory allotted then we need to realloc function.

Syntax:

num_cal = (int*)calloc(num_cal,n);

Modified On Oct-29-2016 12:39:30 AM

Don't want to miss updates? Please click the below button!

Follow MindStick