怎样建立和理解非常复杂的声明?例如定义一个包含N 个指向返回 指向字符的指针的函数的指针的数组?


Posted in 面试题 onMarch 19, 2013
这个问题至少有以下3 种答案:
1. char *(*(*a[N])())();
2. 用typedef 逐步完成声明:
typedef char *pc; /* 字符指针*/
typedef pc fpc(); /* 返回字符指针的函数*/
typedef fpc *pfpc; /* 上面函数的指针*/
typedef pfpc fpfpc(); /* 返回函数指针的函数*/
typedef fpfpc *pfpfpc; /* 上面函数的指针*/
pfpfpc a[N]; /* 上面指针的数组*/
3. 使用cdecl 程序, 它可以把英文翻译成C 或者把C 翻译成英文:
cdecl> declare a as array of pointer to function returning pointer to function returning pointer to char
char *(*(*a[])())()
通过类型转换, cdecl 也可以用于解释复杂的声明, 指出参数应该进入哪一对括号(如同在上述的复杂函数定义中)

Tags in this post...

面试题 相关文章推荐
介绍一下Cookie和Session及他们之间的区别
Nov 20 面试题
如何将字串String转换成整数int
Feb 21 面试题
Weblogic的布署方式
Aug 23 面试题
怎样从/向数据文件读/写结构
Nov 23 面试题
求两个数的乘积和商数,该作用由宏定义来实现
Mar 13 面试题
广州地球村科技数据库题目
Apr 25 面试题
介绍一下内联、左联、右联
Dec 31 面试题
.net软件工程师应聘上机试题
Mar 10 面试题
如何转换一个字符串到enum值
Apr 12 面试题
飞利信loadrunner和软件测试笔试题
Sep 22 面试题
什么是GWT的Module
Jan 20 面试题
我们在web应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个某种编码的字符串?
Mar 30 面试题
这段代码难道不该打印出56吗
Feb 27 #面试题
枚举和一组预处理的#define有什么不同
Sep 21 #面试题
extern在函数声明中是什么意思
Jan 19 #面试题
strstr()的简单实现
Sep 26 #面试题
程序运行正确, 但退出时却"core dump"了,怎么回事
Feb 19 #面试题
怎样从/向数据文件读/写结构
Nov 23 #面试题
如何向接受结构参数的函数传入常数值
Feb 17 #面试题
You might like
PHP中冒号、endif、endwhile、endfor使用介绍
2010/04/28 PHP
关于file_get_contents返回为空或函数不可用的解决方案
2013/06/24 PHP
PHP代码判断设备是手机还是平板电脑(两种方法)
2015/10/19 PHP
PHP中字符与字节的区别及字符串与字节转换示例
2016/10/15 PHP
php7 参数、整形及字符串处理机制修改实例分析
2020/05/25 PHP
PHP手机号码及邮箱正则表达式实例解析
2020/07/11 PHP
javascript 静态对象和构造函数的使用和公私问题
2010/03/02 Javascript
Extjs4 Treegrid 使用心得分享(经验篇)
2013/07/01 Javascript
利用jq让你的div居中的好方法分享
2013/11/21 Javascript
js图片模糊切换显示特效的方法
2015/02/17 Javascript
jQuery实现的导航动画效果(附demo源码)
2016/04/01 Javascript
前端面试知识点锦集(JavaScript篇)
2016/12/28 Javascript
原生JS改变透明度实现轮播效果
2017/03/24 Javascript
JS如何获取地址栏的参数实例讲解
2018/10/06 Javascript
一步步教你利用Docker设置Node.js
2018/11/20 Javascript
JavaScript变量基本使用方法实例分析
2019/11/15 Javascript
详谈Vue.js框架下main.js,App.vue,page/index.vue之间的区别
2020/08/12 Javascript
解决ant Design中Select设置initialValue时的大坑
2020/10/29 Javascript
[01:22:42]2014 DOTA2华西杯精英邀请赛 5 24 DK VS LGD
2014/05/26 DOTA
Python简单实现TCP包发送十六进制数据的方法
2016/04/16 Python
qpython3 读取安卓lastpass Cookies
2016/06/19 Python
Python实战小程序利用matplotlib模块画图代码分享
2017/12/09 Python
Python和Java进行DES加密和解密的实例
2018/01/09 Python
详解Django中CBV(Class Base Views)模型源码分析
2019/02/25 Python
pyqt5 实现多窗口跳转的方法
2019/06/19 Python
Django通用类视图实现忘记密码重置密码功能示例
2019/12/17 Python
Python交互环境下打印和输入函数的实例内容
2020/02/16 Python
Python生成六万个随机,唯一的8位数字和数字组成的随机字符串实例
2020/03/03 Python
用canvas画心电图的示例代码
2018/09/10 HTML / CSS
澳大利亚制造的蜡烛和扩散器:Glasshouse Fragrances
2018/05/20 全球购物
德国大型箱包和皮具商店:Koffer
2019/10/01 全球购物
MYSQL支持事务吗
2013/08/09 面试题
中职生自我鉴定范文
2013/10/03 职场文书
求职信范文大全
2014/05/26 职场文书
八达岭长城导游词
2015/01/30 职场文书
原型和原型链 prototype和proto的区别详情
2021/11/02 Javascript