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

面试题 相关文章推荐
请说出你所知道的线程同步的方法
Apr 19 面试题
几个人围成一圈的问题
Sep 26 面试题
如何在Cookie里面保存Unicode和国际化字符
May 25 面试题
Java里面StringBuilder和StringBuffer有什么区别
Jun 06 面试题
WebSphere 应用服务器都支持哪些认证
Dec 26 面试题
第一范式(1NF)、第二范式(2NF)和第三范式(3NF)之间的区别是什么?
Apr 28 面试题
什么是表空间(tablespace)和系统表空间(System tablespace)
Feb 25 面试题
.net面试题
Dec 22 面试题
StringBuilder和String的区别
May 18 面试题
下列程序在32位linux或unix中的结果是什么
Mar 25 面试题
请用Python写一个获取用户输入数字,并根据数字大小输出不同信息的脚本
May 20 面试题
Java程序员常见面试题
Jul 16 面试题
这段代码难道不该打印出56吗
Feb 27 #面试题
枚举和一组预处理的#define有什么不同
Sep 21 #面试题
extern在函数声明中是什么意思
Jan 19 #面试题
strstr()的简单实现
Sep 26 #面试题
程序运行正确, 但退出时却"core dump"了,怎么回事
Feb 19 #面试题
怎样从/向数据文件读/写结构
Nov 23 #面试题
如何向接受结构参数的函数传入常数值
Feb 17 #面试题
You might like
修改Zend引擎实现PHP源码加密的原理及实践
2008/04/14 PHP
JavaScript 基础问答三
2008/12/03 Javascript
iframe异步加载实现点击左边菜单加载右边内容实例讲解
2013/03/04 Javascript
jQuery mobile类库使用时加载导航历史的方法简介
2015/12/04 Javascript
JavaScript事件学习小结(五)js中事件类型之鼠标事件
2016/06/09 Javascript
jQuery中deferred对象使用方法详解
2016/07/14 Javascript
微信小程序 wxapp导航 navigator详解
2016/10/31 Javascript
Angular 常用指令实例总结整理
2016/12/13 Javascript
JavaScript中利用构造器函数模拟类的方法
2017/02/16 Javascript
JS库之Three.js 简易入门教程(详解之一)
2017/09/13 Javascript
深入浅析Vue全局组件与局部组件的区别
2018/06/15 Javascript
js实现web调用摄像头 js截取视频画面
2019/04/21 Javascript
ES6 Promise对象概念及用法实例详解
2019/10/15 Javascript
vue 实现路由跳转时更改页面title
2019/11/05 Javascript
JS数组属性去重并校验重复数据
2020/01/10 Javascript
深入分析JavaScript 事件循环(Event Loop)
2020/06/19 Javascript
js实现拖拽元素选择和删除
2020/08/25 Javascript
使用Python制作微信跳一跳辅助
2018/01/31 Python
Python中将dataframe转换为字典的实例
2018/04/13 Python
Django模板Templates使用方法详解
2019/07/19 Python
Python datetime包函数简单介绍
2019/08/28 Python
Python发送邮件的实例代码讲解
2019/10/16 Python
Python 中如何实现参数化测试的方法示例
2019/12/10 Python
python标准库OS模块函数列表与实例全解
2020/03/10 Python
Python dict和defaultdict使用实例解析
2020/03/12 Python
Django 项目布局方法(值得推荐)
2020/03/22 Python
美国网上鞋子零售商:Dr. Scholl’s Shoes
2017/11/17 全球购物
Farnell德国:电子元器件供应商
2018/07/10 全球购物
Lululemon英国官网:加拿大瑜伽服装品牌
2019/01/14 全球购物
建筑施工实习自我鉴定
2013/09/19 职场文书
酒吧员工的岗位职责
2013/11/26 职场文书
党员群众路线整改措施及今后努力方向
2014/10/28 职场文书
校长一岗双责责任书
2015/05/09 职场文书
请假条应该怎么写?
2019/06/24 职场文书
医生行业员工的辞职信
2019/06/24 职场文书
Python中快速掌握Data Frame的常用操作
2021/03/31 Python