首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

大家伙儿看看X是什么类型变量

2012-10-21 
大家看看X是什么类型变量。x是什么类型变量,最好能解释的详细点,我不知道该怎么说。谢谢。。。char (*(*x[3])()

大家看看X是什么类型变量。
x是什么类型变量,最好能解释的详细点,我不知道该怎么说。谢谢。。。
char (*(*x[3])())[5]

[解决办法]
x和[3]结合说明是一个大小为3的数组,该数组指向了一个指针,该指针指向一个函数,该函数的无参数,返回一个指针,该指针指向一个大小为5的char型数组

C/C++ code
char num[5];char (*x00())[5]{    return &num;}int _tmain(int argc, _TCHAR* argv[]){    char (*x000)[5];   //返回值    char (*(x00)())[5];//函数原型,参数为空,返回值为指针    char (*(*x0)())[5];//数组的元素,是个函数指针    char (*(*x[3])())[5];//是个数组,大小为3    x0 = x00;    x[0] = x0;    cout<<typeid(x).name()<<endl;        system("pause");    return 0;}
[解决办法]
分析C语言声明,关键是搞清楚这个变量是个什么东西(函数、指针、数组),是函数那么剩下的就是他的参数和返回值,是指针那剩下部分是说明他指向什么,是数组剩下的部分就是说明数组的成员是什么类型。
解析C语言声明规则:从左侧第一个标识符开始,按照优先级进行结合。*表示是..的指针,const表示只读的,volatile表示可变的,[]表示是数组,()表示是函数。
这个在C专家编程里有。
[解决办法]
typedef char c5[5];
typedef c5* (*ft)();

ft x[3];

热点排行