calloc (Windows CE 5.0)

Send Feedback

Developing an Application > Microsoft C Run-time Library for Windows CE > Run-time Library Reference

Allocates an array in memory with elements initialized to 0.

void *calloc(    size_t num,   size_t size);

Parameters

  • num
    Number of elements.
  • size
    Length in bytes of each element.

Return Values

calloc returns a pointer to the allocated space.

The storage space pointed to by the return value is guaranteed to be suitably aligned for storage of any type of object.

To get a pointer to a type other than void, use a type cast on the return value.

Remarks

The calloc function allocates storage space for an array of num elements, each of length size bytes. Each element is initialized to 0. The calloc function guarantees the same alignment for Windows CE as LocalAlloc does in the Win32 API.

calloc calls malloc to use the _set_new_mode function to set the new handler mode. The new handler mode indicates whether, on failure, malloc is to call the new handler routine as set by _set_new_handler.

By default, malloc does not call the new handler routine on failure to allocate memory.

You can override this default behavior so when calloc fails to allocate memory, malloc calls the new handler routine in the same way that the new operator does when it fails for the same reason.

To override the default, call

_set_new_mode(1)

early in your program, or link with NEWMODE.OBJ.

When the application is linked with a debug version of the C run-time libraries, calloc resolves to _calloc_dbg.

Example

/* CALLOC.C: This program uses calloc to allocate space for
 * 40 long integers. It initializes each element to zero.
 */
#include <stdio.h>
#include <malloc.h>

void main( void )
{
   long *buffer;

   buffer = (long *)calloc( 40, sizeof( long ) );
   if( buffer != NULL )
      printf( "Allocated 40 long integers\n" );
   else
      printf( "Can't allocate memory\n" );
   free( buffer );
}

Output

Allocated 40 long integers

Requirements

OS Versions: Windows CE 2.0 and later.
Header: malloc.h.
Link Library: coredll.dll.

See Also

free | malloc | realloc

Send Feedback on this topic to the authors

Feedback FAQs

© 2006 Microsoft Corporation. All rights reserved.