Hola, soy yo otra vez con 'Aprendiendo C en 21 días'. Me ha surgido una duda con uno de los ejercicios. La duda es: ¿Por qué se usa el símbolo de indirección con un tipo de dato ((int *))?
Aquí os pongo el ejemplo del libro (solo os pongo la función en la que aparece lo que no entiendo, para abreviar)?
void printarray_1(int (*ptr)[4])
{
/* Imprime los elementos de un solo arreglo entero de 4 elementos */
/* p es un apuntador a tipo int. Se debe usar un modificador de tipo */
/* para hacer que p sea igual a la dirección de ptr. */
int *p, count;
p = (int*)ptr;
for (count = 0; count < 4; count++)
printf("\n%d", *p++);
}
Saludos.
Edito: Vale, ya encontré la solución. Resulta que es un convertidor específico de tipo, que hace falta para cambiar el, valga la redundancia, tipo de dato, ya que ptr es un apuntador a un arreglo de cuatro enteros y p es un simple apuntador a int.
Ya se puede cerrar el tema.
Saludos.