int RollNum[30][4];
int (*p)[4]=RollNum;
int *q[5];
Here, p is declared as a pointer to an array of 4 ints, while q is declared as an array of 5 pointers to integers.
We can have a mixed bag of *s and &s in a single declaration, as explained below:
1 2 3 4
int **p1; // p1 is a pointer to a pointer to an int.
int *&p2; // p2 is a reference to a pointer to an int.
int &*p3; // ERROR: Pointer to a reference is illegal.
int &&p4; // ERROR: Reference to a reference is illegal.