Duda con símbolo de indirección

Iniciado por apoeti, 15 Agosto 2012, 19:45 PM

0 Miembros y 1 Visitante están viendo este tema.

apoeti

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.