Hola, transcribo otra consulta vía mail para que les sirva a los demás compañeros. Mi criterio está siendo que si no tiene código original de ustedes la re-comparto acá. No se restrinjan de preguntar por el medio que les quede más cómodo, de última las replico acá. Va la pregunta y la respuesta:
/********************************** PREGUNTA *****************************************************/
tengo una duda con respecto a estas secciones, en las cuales debo reservar memoria para pout dentro de la función.
Si
reservo memoria como está definido en la letra: "CodigoError
duplicarImagen(const Imagen* pin, Imagen* pout);", ésta memoria se
reserva solo localmente. En cambio si el este fuera: CodigoError
duplicarImagen(const Imagen* pin, Imagen** pout); podría reservar la
memoria como se pide. Esto es un error de letra o hay alguna otra forma
de hacerlo que no esté viendo?
O no hay que reservar memoria dentro de la función?
Gracias
/********************************** RESPUESTA *****************************************************/
Hay que reservar memoria para pixeles dentro de la función.Imagen se pasa por referencia así que podés editar todos sus campos.
Imagen
es una estructura, querés acceder a ella, no reservar memoria para
ella, de la misma manera que no reservas memoria para un contador de
tipo int cuando lo declaras. Basta declararlo para que C sepa que hacer