duplicarImagen y convertirImagenColorAGris

duplicarImagen y convertirImagenColorAGris

de Leopoldo Agorio -
Número de respuestas: 0

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