Buenas he estado usando punteros a funciones y he notado que si al argumento de una función lo definimos como float y después cuando usamos la función le pasamos al argumento una variable double, y la imprimimos en la pantalla con printf anda perfecto y queda como double, pero si defino al argumento como un puntero a float y le pasamos un puntero a double no da un resultado coherente, ¿alguien sabe a que se debe esto?
Las variables de tipo float y tipo double se representan en memoria de forma diferente. Cuando pasas un double como float en una función, este se convierte automáticamente, pero cuando pasas un puntero a double como puntero a float, el contenido de la memoria no se reinterpreta y por lo tanto no ves ese resultado 'coherente'
puede ser que le haya pasado algo a mi programa por pasar un puntero a double como argumento cuando tendría que haber pasado un puntero a float.
el puntero a double apuntaba a memoria reservada con malloc.
me apareció un werning como mensaje pero probé igual.
no dije nada, era un problema menor, saludos.