int *a;
A pointer to an integer
int **a;
A pointer to a pointer to an integer
int *a[10];
An array of 10 pointers to integers
int (*a)[10];
A pointer to an array of 10 integers
int (*a)(int);
A pointer to a function a that takes an integer argument and returns an integer
int (*a[10])(int);
An array of 10 pointers to functions that take an integer argument and return an integer
int a;
an integer