① array pointers and arrays of pointers
1. The array pointer is used to point to an array whose name is the address of the first element of the array (the array name is a pointer to the first element of the element type and points to the beginning, such as int array[5], and the array is a pointer to array[0] and the type is int*)
int testarray[5] = {12345}; int (*ptestarray) [5] = &Testarray; int *ptest = Testarray;
2. The pointer array is a normal array in which each element of the array is a pointer
int* testarray[5];
② easy to confuse definition
1. Defining an array pointer
int (*PTR) [5]; int (*) [5] ptr;
2. Define a function pointer
int (*PTR) (intint (*) (int i) ptr;
3. Define an array of function pointers
int (*parray[5]) (int i)
4. Define a pointer to a function pointer array
int (* (*PF) [3]) (int i);
Some confusing concepts in C language