Buenas, siempre he estado por mediavida rulando por el subforo de Battlefield y nunca he sabido que existia este subforo, justamente lo descubro cuando tengo ciertas dificultades con unos punteros en C, a ver si los gurús del tema me pueden hechar un cable.
La cosa es que una funcion de mapeo de memoria (zonas de memoria compartida para acceso desde diferentes procesos) me devuelve un (void *), y yo dentro de este puntero quiero guardar el valor de puntero de un vector donde tengo varios buzones para comunicación entre procesos, porque asi no hace falta que pase 9 valores en la creación del proceso, sino que paso la zona a mapear de memoria y todo mas bonito y feliz XD
bueno pues cuando lo hago:
buzones = map_mem(ipc_buzon);
// (void *) map_mem(int ipc);
char string[20];
sprintf(string,"%p",&buzon);
// buzon --> int buzon[9]
((char)buzones) = string;
El mensajito de compilación "assignment makes integer from pointer without a cast"
La pregunta es, ¿Como se deberia castear correctamente?
Y el otro tema, cuando recupere estos datos, como almaceno estos valores en su formato original de array?
Muchas gracias, llevo con esto todo el dia y estoy quemaisimo ya >_<