C pointer and pointer
# Include <stdio. h> int func (int a, int B) {return a + B;} int main (void) {int (* p) (int, int) = func; // The function name is the function entry address printf ("% d \ n", p (4, 4); return 0 ;}// int (* p) (int) can be seen as int A (int). This is A pointer to A function whose parameter is int and the return value is int. Function pointer. // Int * p (int) is a function. Its parameter is an integer, And the return value is a pointer to an integer. # Include <stdio. h> int * func (void) {return NULL;} int main (void) {int * p = func (); return 0 ;} // int ** p This is a pointer pointing to another pointer, which points to an integer and a second-level pointer. Int a, B; int * q = & a; p = & q; * p = & B; can be used to change the direction of a pointer # include <stdio. h> // This is still a function, pointing to the Array Function int (* func (void) [10] {return NULL;} int main (void) {int (* p) [10] = func (); return 0 ;}