Middleware, development tools, realtime operating system
software and services for superior embedded design


Home
QNX Community Resources
Developer Support
QNX Documentation Library
QNX Developer Support

QNX Developer Support

QNX Software Systems
Developer Resources
Blogs
Board support packages
Foundry27 projects
Forums
Hardware support listing
Online video tutorials
Product documentation
Technical Articles

[Previous] [Contents] [Index] [Next]

calloc()

Allocate space for an array

Synopsis:

#include <stdlib.h>

void* calloc ( size_t n, 
               size_t size );

Arguments:

n
The number of array elements to allocate.
size
The size, in bytes, of one array element.

Library:

libc

Use the -l c option to qcc to link against this library. This library is usually included automatically.

Description:

The calloc() function allocates space from the heap for an array of n objects, each of size bytes, and initializes them to 0.


Note: A block of memory allocated with the calloc() function should be freed using the free() function.

Returns:

A pointer to the start of the allocated memory, or NULL if an error occurred (errno is set).

Errors:

ENOMEM
Not enough memory.
EOK
No error.

Examples:

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

int main( void )
{
    char* buffer;

    buffer = (char* )calloc( 80, sizeof(char) );
    if( buffer == NULL ) {
        printf( "Can't allocate memory for buffer!\n" );
        return EXIT_FAILURE;
    }

    free( buffer );

    return EXIT_SUCCESS;
}

Classification:

ANSI, POSIX 1003.1

Safety:
Cancellation point No
Interrupt handler No
Signal handler No
Thread Yes

See also:

free(), malloc(), realloc(), sbrk()


[Previous] [Contents] [Index] [Next]