对于指针数组、数组指针、函数指针这些声明往往是c语言初学者的头痛点
这里有一个简单的方法来看这些声明:
1、先看()里确定声明的对象
2、看()后面的后缀
3、看()前面的前缀
嗯。。就是这么简单。
举几个例子 char * ( * a) ( int ) 首先()里这个东西申明的是指针a,这个指针a指向什么呢?看()后面的可以知道是指向函数的指针,并且这个函数有一个int类型的形参,再看()前面的,又可以知道这个函数的返回值是一个char类型的指针。
int * (*a) [ ] 1、()里:一个指针a 2、()后面:指针指向一个数组 3、()前面:这个数组存放的是int类型的指针
char ( * a[ ] ) ( int ) 1、()里:这是一个数组,数组里存放的是指针 2、()后面:这个指针是函数指针,函数有个int的形参 3、()前面:函数的返回值是个char
以上就是看申明的方法,稍微练几次应该就能熟练掌握了。