text: calloc - a memory allocator
  #include <stdlib.h> void *calloc(size_t nelem, size_t elsize);
  The calloc() function allocates unused space for an array of nelem elements each of whose size in bytes is elsize. The space is initialised to all bits 0.
  The order and contiguity of storage allocated by successive calls to calloc() both nelem and elsize non-zero, calloc() returns a pointer to the allocated space. If either nelem or elsize is 0, then either a null pointer or a unique pointer value that can be successfully passed to free() is returned. Otherwise, it returns a null pointer and sets errno to indicate the error.
  The calloc() function will fail if:
  - [ENOMEM]
  - Insufficient memory is available.
  None.
  There is now no requirement for the implementation to support the inclusion of <malloc.h>.
  None.
  free(), malloc(), realloc(), <stdlib.h>.
  Derived from Issue 1 of the SVID.