Un equipo de desarrolladores está trabajando en un programa que requiere el redimensionamiento de memoria dinámica. ¿Cómo podrían utilizar la función realloc() para redimensionar la memoria sin perder los datos almacenados en ella? ¿Qué precauciones deberían tener en cuenta al utilizar esta función?