Mastering Dynamic Memory Allocation in C: A Comprehensive Guide to malloc(), calloc(), and Effective Memory Management