×

Calloc in C

The calloc() is a library function in C which is used for memory allocation. The calloc() function dynamically allocates multiple blocks of memory to complex data structures.

This includes data structures such as arrays.

An array is a collection of items or logically related variables of identical data type which are stored in contiguous memory locations. Once the size of array is declared, it cannot be changed and hence the size of array declared may not be sufficient enough for the task it was declared for. This may lead to unwanted termination of the program or not getting the desired outputs.

This problem can be resolved by allocating the memory during run time, this process has to be manual. This manual declaration of memory at run time is known as dynamic memory allocation and this is carried by a special set of functions known as library functions. The calloc() is a library function in C which is used for dynamic memory allocation.

The malloc() function also performs the task of memory allocation but the allocated memory is uninitialized.

Meaning

The term calloc is short for contiguous allocation and is a library function in C which allocates the memory which is requested and returns a pointer to it. The pointer is returned to the beginning of the block of memory.

Note: The block of memory allocated is set to zero, i.e., all bits are set to zero.

Declaration

void *calloc (n, size)

where, n = number of elements to be allocated

             size = Size of the elements

Eg: p = (int*) calloc(10, sizeof(int));  /*This statement allocates contiguous space in 

    memory for 10 elements of type int */

Program: C program for showing the usage of calloc() function

#include <stdio.h>
#include <stdlib.h>


int main () 
{
   int i, n;   //declaring the local variables
   int *p;


   printf("Enter number of elements : "); //number of elements required
   scanf("%d",&n); //scanning the input


   p = (int*)calloc(n, sizeof(int));  //declaring the calloc function


   printf("Enter the numbers here (%d numbers) :\n",n); //numbers entered by user
   for( i=0 ; i < n ; i++ ) {


      scanf("%d",&p[i]);
   }


   printf("The numbers entered are as follows : ");


   for( i=0 ; i < n ; i++ ) {


   printf("%d ",p[i]);
   }


   free( p );


   return(0);
}

Output of the following program:

Calloc in C

Conclusion

The calloc() function is a library function in C and it is used for allocation of space for complex data types such as an array. It allocates space for an array of elements, initializes them to zero and then returns a pointer to the memory.

Note 1: Difference between malloc and calloc

              malloc() function allocates memory but does not set the memory to zero, i.e.,

             memory is uninitialized.

            calloc() function on the other hand allocates memory and set the memory to

             zero, all bits are initialized to zero.

Note 2: The calloc() function returns a pointer to the allocated memory, but if there is an error while allocating memory space like shortage of memory, then the return value is NULL.


Related Topics

Function in C

Function is a group of statements that are used to perform any task. In other words, we can say that a function is a self- contained a block of programs...

3 minutes read.

Comma Operator in C

What is a comma operator? The comma operator in the C programming language has the least priority. The comma operator is essentially a binary operator that operates on the first operand...

4 minutes read.

Find Union and Intersection of Two Arrays in C

Union You can find the union of the two sorted arrays using the join merge method on arr1[] and arr2[]. Use two index variables i and j with initial values i =...

4 minutes read.

C printf and Scanf

Input-Output functions in C Programming In C Language, the printf() and scanf() are inbuilt library functions that used for input and output. It is defined in the header file“<stdio.h>”. printf() Function: In C...

2 minutes read.

Ceil function in C

Introduction In the C Programming Language, the ceil function is a library function which is used to obtain the ceil value, i.e., it returns the smallest integer that is greater than...

4 minutes read.

Runtime vs compile time in C

In the C programming language, the often used terms in every step consist of compile time and runtime. The compile time is referred to the source code that will be...

4 minutes read.

Multi-dimensional Arrays in C

Multi-dimensional Arrays in C The C programming allows the concept of multi-dimensional arrays. The data within the multidimensional arrays are stored in the tabular form, that is, in a row significant...

3 minutes read.

Difference between rand() and srand() function in C

What is the rand()? The rand() means random function. This function is used in C. It generates random numbers in the range of 0 to the RAND_MAX. Suppose we generate a...

3 minutes read.

Int in C

The keyword int in C programming stands for integer and it is a data type which is used for variable declarations or declaration of functions of different types. Similar to...

4 minutes read.

Length of an Array Function in C

In C, there is no built-in function to get the length of an array. However, there are a few ways you can determine the length of an array. It is necessary...

15 minutes read.

Modulus on Negative Numbers in C

In this tutorial, we will explore some examples of modulus on negative number. What is Modulus of Negative number? By omitting the minus sign, one can determine the modulus of a negative...

3 minutes read.

Type Conversion in the C

The process of changing one data type to another in the C programming language is known as "type conversion." The type conversion method is only executed on data types that...

4 minutes read.

Structure Pointer in C

Structure Pointer in C In the C programming language, a structure pointer is defined as a pointer that points to the memory block address that stores a structure. Like C standard...

4 minutes read.

Prime Number code in C

Prime Number Programs in C language In this tutorial, we will learn how to check whether the given number is a prime number or not, and how to print all the...

4 minutes read.

Difference between while and for loop in C

While Loop The syntax that can be used for the ‘while’ loop in the C programming language is mentioned below: while (test expression or termination condition)  {   // the main body of the...

6 minutes read.

Continue in C

C language: C language is a procedure oriented programming language. We can say that it is a platform dependent language. C language is introduced by Dennis Ritchie in the year 1970. We...

2 minutes read.

Fee Management System in C

The concept is to split every operation into its very own characteristic. Software is made from all of the capabilities mixed with transfer cases. An example of the capabilities may...

5 minutes read.

Distance Vector Routing Protocol Program in c

A distance-vector routing protocol is one of the foremost instructions of routing protocols in pc conversation principle for packet-switched networks. The hyperlink-nation protocol is the alternative foremost class.The Bellman-Ford set...

4 minutes read.

FIFO Example in the C Language

FIFO is an acronym that means "First In, First Out." It is a data structure handling method in which the first element is handled first, and the last element is...

3 minutes read.

C pre-processor

The C processor is a macro processor which is used to compile the source code of the program (step by step) . It is not a part of the compiler....

4 minutes read.