Standard C Memory
Syntax:
#include <stdlib.h>
void *calloc( size_t num, size_t size );
|
The calloc() function returns a pointer to space for an array of num objects, each of size
size. calloc() returns NULL if there is an error.
Related topics:
free(), malloc(), and realloc().
Syntax:
#include <stdlib.h>
void free( void *ptr );
|
The free() function deallocates the space pointed to by ptr, freeing it up for future use.
ptr must have been used in a previous call to malloc(), calloc(), or realloc(). An example:
typedef struct data_type {
int age;
char name[20];
} data;
data *willy;
willy = (data*) malloc( sizeof(willy) );
...
free( willy );
Related topics:
calloc(), malloc(), and realloc().
Syntax:
#include <stdlib.h>
void *malloc( size_t size );
|
The function malloc() returns a pointer to a chunk of memory of size size, or NULL if there is
an error. The memory pointed to will be on the heap, not the stack, so make sure to free it when you are done with it. An example:
typedef struct data_type {
int age;
char name[20];
} data;
data *bob;
bob = (data*) malloc( sizeof(data) );
if( bob != NULL ) {
bob->age = 22;
strcpy( bob->name, "Robert" );
printf( "%s is %d years old\n", bob->name, bob->age );
}
free( bob );
Related topics:
free(), realloc(), and calloc().
Syntax:
#include <stdlib.h>
void *realloc( void *ptr, size_t size );
|
The realloc() function changes the size of the object pointed to by ptr to the given
size. size can by any size, larger or smaller than the original. The return value is a
pointer to the new space, or NULL if there is an error.
Related topics:
free(), malloc(), and calloc().