怎样建立和理解非常复杂的声明?例如定义一个包含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...

面试题 相关文章推荐
面向对象编程的优势是什么
Dec 17 面试题
对于没有初始化的变量的初始值可以作怎样的假定
Oct 12 面试题
解释一下Windows的消息机制
Jan 30 面试题
存储过程和函数的区别
May 28 面试题
简述索引存取方法的作用和建立索引的原则
Mar 26 面试题
酷瑞网络科技面试题
Mar 30 面试题
什么是Linux虚拟文件系统VFS
Aug 25 面试题
现在输入n个数字,以逗号,分开;然后可选择升或者降序排序;按提交键就在另一页面显示按什么排序,结果为,提供reset
Nov 09 面试题
XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式?
Jan 12 面试题
Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?
Jul 27 面试题
DELPHI中如何调用API,可举例说明
Jan 16 面试题
DELPHI面试题研发笔试试卷
Nov 08 面试题
这段代码难道不该打印出56吗
Feb 27 #面试题
枚举和一组预处理的#define有什么不同
Sep 21 #面试题
extern在函数声明中是什么意思
Jan 19 #面试题
strstr()的简单实现
Sep 26 #面试题
程序运行正确, 但退出时却"core dump"了,怎么回事
Feb 19 #面试题
怎样从/向数据文件读/写结构
Nov 23 #面试题
如何向接受结构参数的函数传入常数值
Feb 17 #面试题
You might like
php学习之数据类型之间的转换介绍
2011/06/09 PHP
PHP获取网址的顶级域名函数代码
2012/09/24 PHP
php class中self,parent,this的区别以及实例介绍
2013/04/24 PHP
ThinkPHP中redirect用法分析
2014/12/05 PHP
避免Smarty与CSS语法冲突的方法
2015/03/02 PHP
PHP实现的XML操作类【XML Library】
2016/12/29 PHP
PHP实现通过strace定位故障原因的方法
2018/04/29 PHP
在laravel5.2中实现点击用户头像更改头像的方法
2019/10/14 PHP
jquery html动态生成select标签出问题的解决方法
2013/11/20 Javascript
js弹窗返回值详解(window.open方式)
2014/01/11 Javascript
javascript继承的六大模式小结
2015/04/13 Javascript
jQuery判断checkbox选中状态
2016/05/12 Javascript
AngularJS框架中的双向数据绑定机制详解【减少需要重复的开发代码量】
2017/01/19 Javascript
Angular企业级开发——MVC之控制器详解
2017/02/20 Javascript
基于JavaScript实现选项卡效果
2017/07/21 Javascript
Vue组件实现触底判断
2019/06/26 Javascript
vue实现购物车小案例
2019/09/27 Javascript
springboot+vue实现文件上传下载
2020/11/17 Vue.js
Python编程中用close()方法关闭文件的教程
2015/05/24 Python
Python应用03 使用PyQT制作视频播放器实例
2016/12/07 Python
解决python3 HTMLTestRunner测试报告中文乱码的问题
2018/12/17 Python
python实现雪花飘落效果实例讲解
2019/06/18 Python
实例详解Python装饰器与闭包
2019/07/29 Python
python 实现list或string按指定分段
2019/12/25 Python
PythonPC客户端自动化实现原理(pywinauto)
2020/05/28 Python
python 解决mysql where in 对列表(list,,array)问题
2020/06/06 Python
详解python百行有效代码实现汉诺塔小游戏(简约版)
2020/10/30 Python
用python写一个带有gui界面的密码生成器
2020/11/06 Python
Numpy中np.max的用法及np.maximum区别
2020/11/27 Python
删除pycharm鼠标右键快捷键打开项目的操作
2021/01/16 Python
项目经理聘任书
2014/03/29 职场文书
生物学专业求职信
2014/07/23 职场文书
个人自查自纠材料
2014/10/14 职场文书
银行招聘自荐信
2015/03/06 职场文书
2015年党风廉政建设目标责任书
2015/05/08 职场文书
nginx 反向代理之 proxy_pass的实现
2021/03/31 Servers