Título: [C] (void*) ¿Para qué sirve? Publicado por: GGZ en 18 Noviembre 2015, 15:55 pm Hola a todos!, ¿para que sirve usar (void*) ahí?
Código
¿Qué pasa si yo hago esto? Código
Lo que se me pide es: Definir una simple función imprimir_dir(int x) cuyo único propósito sea imprimir la dirección del entero x que se le pasa. Crear una variable entera en main, imprimir su dirección ahí mismo y luego pasar la variable a imprimir_dir. Comparar los resultados. ¿Es el comportamiento esperado? Saludos! Título: Re: [C] (void*) ¿Para que sirve? Publicado por: DarK_FirefoX en 18 Noviembre 2015, 16:00 pm Una función que retorna, devuelve un valor u objeto. Por ejemplo, la función "atoi(char*)", coge una cadena, y la transforma en un int. Código
"atoi" retorna el entero 21. Las funciones void, simplemente no retornan. Hacen un trabajo, el que sea, y no devuelve nada. En tu caso, tu función no es necesario que devuelva nada, pues solo va a imprimir una texto en consola. Piensa: ¿De que te sirve devolver un valor si no lo vas a capturar cuando llames a la función? Salu2s Título: Re: [C] (void*) ¿Para qué sirve? Publicado por: GGZ en 18 Noviembre 2015, 16:01 pm Si eso si lo sé, a eso no me refiero, me refiero al (void*) que está adentro printf, no como está definida la función.
¿O entendí mal? Título: Re: [C] (void*) ¿Para qué sirve? Publicado por: geeke en 18 Noviembre 2015, 19:22 pm ¿para que sirve usar (void*) ahí? El especificador de formato %p espera un argumento de tipo void*, por lo tanto es necesario el cast. ¿Qué pasa si yo hago esto? Al omitir el cast tu aplicacion queda expuesta a comportamiento indefinido. Título: Re: [C] (void*) ¿Para qué sirve? Publicado por: DarK_FirefoX en 18 Noviembre 2015, 19:28 pm Si eso si lo sé, a eso no me refiero, me refiero al (void*) que está adentro printf, no como está definida la función. ¿O entendí mal? Perdón! No había visto esto ^^ Sigue lo que dice @Coper Salu2s Título: Re: [C] (void*) ¿Para qué sirve? Publicado por: GGZ en 18 Noviembre 2015, 22:14 pm Entendido, muchas gracias.
|