Dynamic Memory Allocation and Fragmentation in C & C++