http://programming.im.ncnu.edu.tw/C_index.html
char (*x[])(); //變數x到底是甚麼?
char *x; // x: a pointer to char
char x[3]; // x: an array[3] of char
char x(); // x: a function() returning char
char *x[3]; // x: an array[3] of pointer to char
char (*x)[3]; // x: a pointer to array[3] of char
char **x; // x: a pointer to pointer to char
char *x(); // x: a function() returning pointer to char
char *x()[3];
// x: a function() returning array[3] of pointer to char
char (*x[])();
// x: an array[] of pointer to function() returning char
char (*x())();
// x: a function() returning pointer to
function() returning char
char (*(*x)[])(int, int);
// x: a pointer to array[] of pointer to
function(int,int) returning char