转⾃
int *(*p(int))[3]
今天有⼈问这个是啥?我⼀看直接就懵逼了…… 下⾯做⼀些简单的分析。 int p; //这是整数型变量p int *p; //这是整数型指针p
int *p[3]; //这是长度为3的整数型指针数组p,元素为整数型指针 int (*p)[3]; //这是⼀个数组指针,指向⼀个长度为3的整数型数组 int p(int); //这是函数声明,形参:整数型 ,返回值:整数型 等同于 int p(int x);
int *p(int); //这是函数声明,形参:整数型 ,返回值:整数型指针 等同于 int *p(int x);
int (*p)(int); //这是函数指针,指向有⼀个整数型形参和整数型返回值的函数
int (*p[3])(int);//这是函数指针数组,每个元素指向有⼀个整数型形参和整数型返回值的函数 int *(*p(int)); //这是函数声明,形参:整数型 ,返回值:指向整数型指针的指针 等同于 int **p(int) , int **p(int x) , int *(*p(int x))
int *(*p(int))[3]; //这是⼀个函数声明,形参:整数型,返回值:⼀个数组指针数组,此数组内的指针,指向⼀个长度为3的整数型指针数组。
我知道这个很绕,简单说返回值就是这样: int *i[x][3]; //x是任意数
以上结论均在VisualStudio2010中进⾏测试,⽆误。如果我有所疏漏,或者是有什么表达不清,请留⾔哦,么么哒(づ ̄ 3 ̄)づ。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- efsc.cn 版权所有 赣ICP备2024042792号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务