Common Errors
The improper use of dynamic memory allocation can frequently be a source of bugs.
Most common errors are as follows:
- Not checking for allocation failures. Memory allocation is not guaranteed to succeed. If there's no check for successful allocation implemented, this usually leads to a crash of the program or the entire system.
- Memory leaks. Failure to deallocate memory using
free
leads to buildup of memory that is non-reusable memory, which is no longer used by the program. This wastes memory resources and can lead to allocation failures when these resources are exhausted. - Logical errors. All allocations must follow the same pattern: allocation using
malloc
, usage to store data, deallocation usingfree
. Failures to adhere to this pattern, such as memory usage after a call tofree
or before a call tomalloc
, callingfree
twice ("double free"), etc., usually leads to a crash of the program.
Read more about this topic: C Dynamic Memory Allocation
Famous quotes containing the words common and/or errors:
“I hope there are some who will brave ridicule for the sake of common justice to half the people in the world.”
—Barbara Leigh Smith Bodichon (18271891)
“I was duped ... by the Secretary of the treasury [Alexander Hamilton], and made a fool for forwarding his schemes, not then sufficiently understood by me; and of all the errors of my political life, this has occasioned the deepest regret.”
—Thomas Jefferson (17431826)