int b[8][8]; An array of type int
int **ptr; Pointer to a pointer to int
int *risks[10]; An array with 10 elements, each of which is a pointer to an int
Int (* risk) [10]; A pointer to an int array with 10 elements
int * Abc[3][4]; An array of 3*4, each element is a pointer to an int
INT (* ABC) [3][4]; A pointer to an int array that points to 3*4
Int (* abc[3]) [4]; An array with 3 elements, each of which is a pointer to an int array with 4 elements
() [] has the same priority, which is combined from left to right
typdef int arr5[5];
Typdef ARR5 * P_ARR5;
typedef P_ARR5 ARRP10[10];
ARR5 togs; Togs is an int array with 5 elements;
P_ARR5 P2; P2 is a pointer to an int array with 5 elements
ARRP10 ap; An AP is an array of pointers with 10 elements. Each pointer points to an int array with 5 elements 3
TYPDEF Create a name for your own data structure
Strange declarations in C language