Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: apoeti en 15 Agosto 2012, 19:45 pm



Título: Duda con símbolo de indirección
Publicado por: apoeti en 15 Agosto 2012, 19:45 pm
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)?

Código
  1. void printarray_1(int (*ptr)[4])
  2. {
  3.     /* Imprime los elementos de un solo arreglo entero de 4 elementos */
  4.     /* p es un apuntador a tipo int. Se debe usar un modificador de tipo */
  5.     /* para hacer que p sea igual a la dirección de ptr. */
  6.  
  7.     int *p, count;
  8.     p = (int*)ptr;
  9.  
  10.     for (count = 0; count < 4; count++)
  11.         printf("\n%d", *p++);
  12. }

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.