allocate memory
#include <stdlib.h> /* For ANSI compatibility (malloc only) */ #include <malloc.h> /* Required for other function prototypes */ void *malloc( size_t size ); void __based(void) *_bmalloc( __segment seg, size_t size ); void __far *_fmalloc( size_t size ); void __near *_nmalloc( size_t size );
The malloc() functions allocate space for an object of size bytes. Nothing is allocated when the size argument has a value of zero.
Each function allocates memory from a particular heap, as listed below:
In a small data memory model, the malloc() function is equivalent to the _nmalloc() function; in a large data memory model, the malloc() function is equivalent to the _fmalloc() function.
The malloc() functions return a pointer to the start of the allocated memory. The malloc(), _fmalloc() and _nmalloc() functions return NULL if there is insufficient memory available, or if the requested size is zero. The _bmalloc() function returns _NULLOFF if there is insufficient memory available, or if the requested size is zero.
calloc(), _expand(), free(), halloc(), hfree(), _msize(), realloc(), sbrk()
#include <stdlib.h> void main() { char *buffer; buffer = (char *)malloc( 80 ); if( buffer != NULL ) { /* body of program */ free( buffer ); } }