Memory management in C language