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
freeleads 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 tofreeor before a call tomalloc, callingfreetwice ("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 want relations which are not purely personal, based on purely personal qualities; but relations based upon some unanimous accord in truth or belief, and a harmony of purpose, rather than of personality. I am weary of personality.... Let us be easy and impersonal, not forever fingering over our own souls, and the souls of our acquaintances, but trying to create a new life, a new common life, a new complete tree of life from the roots that are within us.”
—D.H. (David Herbert)
“I shall do less whenever I shall believe what I am doing hurts the cause, and I shall do more whenever I shall believe doing more will help the cause. I shall try to correct errors when shown to be errors; and I shall adopt new views so fast as they shall appear to be true views.”
—Abraham Lincoln (18091865)