I Solía tener problemas con la tipificación C también, hasta que supe cómo se creó.
En C, el tipo se describe de la manera en que usaría una variable de ese tipo.
Por lo tanto, cuando vea:
int *x;
que significa que la expresión es de tipo *x
int
, por lo que es x
variable de tipo int puntero a.
y si ves:
int x[5];
que significa que la expresión es de tipo x[3]
int
, por lo x
es una variable de tipo array de int.
Por lo tanto, para llegar a su expresión:
int (*x)[];
que significa que la expresión es de tipo *x
int[]
(es decir, una serie de int
de tamaño desconocido). Por lo tanto, x
es una variable de tipo puntero-a-una-matriz-de-int.
+1 .... ¡Impresionante! – Nawaz