1. int *a[35] - significa que
a es un array de punteros es decir cada miembro del array
a es un puntero de tipo entero, cada miembro del array puede contener la dirección de un entero.
#include<stdio.h>
int main()
{
int b = 3;
int c = 4;
int *a[2] = {&b, &c};
printf("a[0] = %d, a[1] = %d\n", *a[0], *a[1]);
return 0;
}
2. int (*a)[35] - aquí
a es un puntero a un array de 35 enteros, es decir
a apunta a un array que contiene treita y cinco enteros.
#include<stdio.h>
int main(void)
{
int a[5] = { 0, 1, 2, 3, 4 }, i;
int (*p)[5];
p = &a;
for (i = 0; i < 5; ++i)
printf("%d ", (*p)[i]);
return 0;
}