用变量a给出下面的定义
1.一个整型数(An integer)
int a;
2.一个指向整型数的指针( A pointer to an integer)
int *a;
3.一个指向指针的的指针,它指向的指针是指向一个整型数( A pointer to a pointer to an intege)r
int **a;
4.一个有10个整型数的数组( An array of 10 integers)
int a[10];
5.一个有10个指针的数组,该指针是指向一个整型数的。(An array of 10 pointers to integers)
int *a[10]; // 指针数组(本质是数组)
6.一个指向有10个整型数数组的指针( A pointer to an array of 10 integers)
int (*a)[10]; // 数组指针(本质是指针)
7.一个指向函数的指针,该函数有一个整型参数并返回一个整型数(A pointer to a function that takes an integer as an argument and returns an integer)
int (*max_function)(int a); // 函数指针
8.一个有10个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数( An array of ten pointers to functions that take an integer argument and return an integer )
int (*a[10])(int); // 函数指针数组