MALLOC() / FREE()
MALLOC
Allocate memory dynamically.
void *malloc(int size);
* its only parameter provides information about the size of the requested memory and
is expressed in bytes;
* the function returns a pointer of type void * which points to the newly allocated
memory block, or is equal to NULL to indicate that the allocation requested could
not be granted;
* the function doesn’t have a clue as to what we want to use the memory for and
therefore the result is of type void *; we’ll have to convert it to another
usable pointer type;
* the allocated memory area is not filled (initiated) in any way, so you should
expect it to contain garbage.
FREE
Deallocate memory.
void free(void *pointer);
* the function name doesn't require any comments;
* the function does not return any results so its type is defined as void;
* the function expects one parameter – the pointer to the memory block that is to be
released; usually it’s a pointer previously received from the malloc or its
kindred; using another pointer value may cause some kind of disaster;
* the function doesn't need to know the size of the freed block; you can only release
the entire allocated block, not a part of it;
* after performing the free function, all the pointers that point to the data inside
the freed area become illegal; attempting to use them may result in abnormal
program termination.
Last updated