int a; int*a; int**a; int(*a)[10]; int* a[10]; int(*a)(int); int(*a[10])(); 的含义 !!!

1、int a;      表示一个内存空间,这个空间用来存放一个整数(int);

 

2、int* a;    表示一个内存空间,这个空间用来存放一个指针,这个指针指向一个存放整数的空间;

3、int** a;    表示一个内存空间,这个空间用来存放一个指针,这个指针指向一个存放指针的空间,并且指向的这个空间中的指针,指向一个整数。

 

4、int (*a)[10];    表示一个内存空间,这个空间用来存放一个指针,这个指针指向一个长度为10、类型为int的数组;

 

5、 int *a[10];      定义了一个指针数组,即10个int * 类型的指针

6、 int (*a)(int);    表示一个内存空间,这个空间用来存放一个指针,这个指针指向一个函数,这个函数有一个类型为int的参数,并且函数的返回类型也是int

7、 int (*a[10])() ;   a是一个包含10个元素的数组,这个10个元素的类型是:指向不接受参数,返回int型的函数的指针。

猜你喜欢

转载自www.cnblogs.com/GuanghuiLiu/p/9315185.html