函数指针后带数组下标怎样理解??

我在阅读expat源代码的时候,碰到了下面的这段代码,不知该如何理解?
#define XML_N_STATES 4

int (*scanners[XML_N_STATES])( const char *);

这段代码中函数指针后又带了个数组下标,这如何理解???

scanners 是有 XML_N_STATES 个元素的 指针数组, 每一个指针指向一个参数为const char *的函数,这个函数的返回值是Int型的数

自问自答了,刚刚提出问题,忽然就有了想法,我看

 int (*scanners[XML_N_STATES])(const char *);

很像是定义了一个数组,数组的长度为4,数组的类型是函数指针,即返回类型为int,参数为const char * 的函数。按照这个想法,我百度了函数指针数组,果然找到了相关的介绍,这个写的不错,可以参考一下怎样定义函数指针数组

函数指针数组,看我的程序
http://ask.csdn.net/questions/334294

用它可以巧妙解决一些问题