Malloc , calloc, free and realloc in C

Last updated:9/20/2020 11:09:28 PM

1 Answers

Abhishek Srivasatava
Abhishek Srivasatava

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);

Answer