int* (*a[5])(int, char*); 是什么意思?
int* 表示是一個(gè)int型指針;(*a[5])(int, char*)中的a[5]表示是一個(gè)有5個(gè)元素的數(shù)組,而(*)(int, char*)則表示指向一個(gè)函數(shù)的指針,該函數(shù)有兩個(gè)參數(shù)糠雨,第一個(gè)參數(shù)為int型锅尘,第二個(gè)是字符指針型,結(jié)合前面部分巍佑,表示這個(gè)函數(shù)的返回類型為int型稼虎,所以(*a[5])(int, char*)為5個(gè)返回類型為int型函數(shù)組成的數(shù)組送爸;
整個(gè)結(jié)合起來int* (*a[5])(int, char*)就是指向5個(gè)返回類型為int型函數(shù)組成的數(shù)組的指針變量咽笼,變量名為a.
本質(zhì)是指向數(shù)組的指針顷编,該數(shù)組是函數(shù)而已。