The challenging part is to get details of using them correctly and avoid security and portability issues and I consider it neccesaty introduction for section dealing with memory management.
realloc(valid_pointer,0);
IS defined (in C89 no less) to act like free(). It is NOT operating system dependent.