malloc
![]() |
![]() |
![]() |
![]() |
malloc()
Allocate memory
Synopsis:
#include <stdlib.h> void* malloc( size_t size );
Arguments:
- size
- The number of bytes to allocate.
Library:
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
Description:
The malloc() function allocates a buffer of size bytes.
If size is zero, malloc() returns a valid non-NULL pointer which is valid only to a corresponding free() call. You shouldn't assume that a pointer returned by malloc(0) actually points to any valid memory.
![]() |
This function allocates memory in blocks of _amblksiz bytes (a global variable defined in <stdlib.h>). |
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>
int main( void )
{
char* buffer;
buffer = (char* )malloc( 80 );
if( buffer != NULL ) {
/* do something with the buffer */
...
free( buffer );
}
return EXIT_SUCCESS;
}
Classification:
| Safety: | |
|---|---|
| Cancellation point | No |
| Interrupt handler | No |
| Signal handler | No |
| Thread | Yes |
Caveats:
In QNX 4, nothing is allocated when you malloc() 0 bytes. Be careful if your code is ported between QNX 4 and QNX Neutrino.
See also:
calloc(), free(), realloc(), sbrk()
The Heap Analysis: Making Memory Errors a Thing of the Past chapter of the Neutrino Programmer's Guide.
![]() |
![]() |
![]() |
![]() |

![[Previous]](../prev.gif)
![[Contents]](../contents.gif)
![[Index]](../keyword_index.gif)
![[Next]](../next.gif)

