Ejercicio de Puntero a Void
Realizar un programa que tenga como datos iniciales :
- un tipo de dato entero llamado a con valor = 1
- un puntero a entero llamado p
- un puntero a void llamado px
- un tipo de dato double llamado x con valor = 2.4
Que debe hacer?
- Debe asignar le p la direccion de a para que apunte a lo mismo y luego mostrar el contenido de p.
- Debe castear la dirección de x para poder asignárselo al tipo de dato p y luego mostrar el contenido de p.
- Debe asignar al puntero a void px, la dirección de a.
- Debe crear un puntero entero llamado pa y luego asignarle px ( casteandolo ) y luego mostrar el contenido de pa.
- Al puntero a void px debe asignarle la dirección de x y luego crear un puntero pb para asignarle lo que apunta px ( casteándolo ) para finalmente mostrar el contenido de pb.
int main()
{
int a=1,*p;
void *px;
double x=2.4;
p=&a; //válido: puntero y variable son del mismo tipo
printf("Output 1 : %d\n", *p);
//p=&x; MAL
p=(int *)&x; //válido
printf("Output 2: %d\n", *p);
px=&a;
int *pa = (int *)px;
printf("Output 3: %d\n",*pa);
px=&x;
double *pb = (double *)px;
printf( "Output 4: %lf\n", *pb);
return 0;
}