2.int* b[ 10] // pointer array with length of 10, which stores pointers to integers.
3.int(* b)[ 10]// Pointer to a one-dimensional array consisting of 10 elements, which are integer variables int.
The above three forms are basic definitions, and the rest can be transformed into these three basic forms. Of course, two-dimensional arrays, three-dimensional arrays and so on can be extended.
4. int*[ 10]// Pointer to a one-dimensional array consisting of 10 elements, which are integer pointer variables int *
In short, a principle is that if * is not enclosed in parentheses, it should be combined with data types such as int as a new data type. If * is enclosed in variable names, it is a pointer to an array.
For example, int* (*b)[ 10] can be regarded as:
INTP (*b)[ 10] // into the third form of definition.
INTP=int *