estoy perdiendo algo obvio aquí pero tenga en cuenta lo siguiente,conversión de int a int * a continuación, volver a int
int k = 10;
int *p = &k;
int i = (int)p;
anterior produce,
warning: cast from pointer to integer of different size
y siguientes,
int k = 10;
int *p = &k;
int i = p;
causas,
warning: initialization makes integer from pointer without a cast
un poco de google me llevan a,
Converting a pointer into an integer
el cual asesora usando uintptr_t,
int k = 10;
int *p = &k;
int i = (uintptr_t)p;
anterior funciona sin errores no hay advertencias. Entonces mi pregunta es k es un int y p es un puntero int que apunta a k ¿por qué obtengo una desreferencia de error p?
¿Qué esperas que sea el valor de 'i'? –
No desreferencia 'p' en ninguno de sus ejemplos. ¿Puedes aclarar tu pregunta? – nmichaels