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

面试题 相关文章推荐
JAVA的事件委托机制和垃圾回收机制
Sep 07 面试题
什么是serialVersionUID
Mar 04 面试题
递归计算如下递归函数的值(斐波拉契)
Feb 04 面试题
Android面试题及答案
Sep 04 面试题
木马的传播途径主要有哪些
Apr 08 面试题
C#面试常见问题
Feb 25 面试题
编写一个类体现构造,公有,私有方法,静态,私有变量
Aug 10 面试题
Linux上比较文件的命令都有哪些
Sep 28 面试题
几个常见的消息中间件(MOM)
Jan 08 面试题
MYSQL基础面试题
May 13 面试题
为什么Runtime.exec(“ls”)没有任何输出?
Oct 03 面试题
你在项目中用到了xml技术的哪些方面?如何实现的?
Jan 26 面试题
这段代码难道不该打印出56吗
Feb 27 #面试题
枚举和一组预处理的#define有什么不同
Sep 21 #面试题
extern在函数声明中是什么意思
Jan 19 #面试题
strstr()的简单实现
Sep 26 #面试题
程序运行正确, 但退出时却"core dump"了,怎么回事
Feb 19 #面试题
怎样从/向数据文件读/写结构
Nov 23 #面试题
如何向接受结构参数的函数传入常数值
Feb 17 #面试题
You might like
提升PHP执行速度全攻略(下)
2006/10/09 PHP
模仿OSO的论坛(二)
2006/10/09 PHP
Windows IIS PHP 5.2 安装与配置方法
2009/06/08 PHP
php设计模式之委托模式
2016/02/13 PHP
PHP会话操作之cookie用法分析
2016/09/28 PHP
PHP编程文件处理类SplFileObject和SplFileInfo用法实例分析
2017/07/22 PHP
phpStorm2020 注册码
2020/09/17 PHP
分享十五个最佳jQuery 幻灯插件和教程
2010/03/27 Javascript
js语法学习之判断一个对象是否为数组
2014/05/13 Javascript
删除javascript中注释语句的正则表达式
2014/06/11 Javascript
readonly和disabled属性的区别
2015/07/26 Javascript
jquery获取复选框checkbox的值实现方法
2016/05/30 Javascript
全面解析Bootstrap中tab(选项卡)的使用方法
2016/06/06 Javascript
jQuery购物车插件jsorder用法(支持后台处理程序直接转换成DataTable处理)
2016/06/08 Javascript
Javascript中indexOf()和lastIndexOf应用方法实例
2016/08/24 Javascript
jQuery插件zTree实现删除树节点的方法示例
2017/03/08 Javascript
Vue使用json-server进行后端数据模拟功能
2018/04/17 Javascript
微信小程序激励式视频广告组件使用详解
2019/12/06 Javascript
vue 使用post/get 下载导出文件操作
2020/08/07 Javascript
vue基于Echarts的拖拽数据可视化功能实现
2020/12/04 Vue.js
python过滤字符串中不属于指定集合中字符的类实例
2015/06/30 Python
Python中的错误和异常处理简单操作示例【try-except用法】
2017/07/25 Python
Python中字典与恒等运算符的用法分析
2019/08/22 Python
python实现mean-shift聚类算法
2020/06/10 Python
快速解释如何使用pandas的inplace参数的使用
2020/07/23 Python
python语音识别指南终极版(有这一篇足矣)
2020/09/09 Python
关于PyCharm安装后修改路径名称使其可重新打开的问题
2020/10/20 Python
python 发送get请求接口详解
2020/11/17 Python
windows系统Tensorflow2.x简单安装记录(图文)
2021/01/18 Python
CSS3 倾斜的网页图片库实例教程
2009/11/14 HTML / CSS
CSS3支持IE6, 7, and 8的边框border属性
2012/12/28 HTML / CSS
css3打造一款漂亮的卡哇伊按钮
2013/03/20 HTML / CSS
挪威手表购物网站:Klokker
2016/09/19 全球购物
2014年党支部书记工作总结
2014/12/04 职场文书
《中华上下五千年》读后感3篇
2019/11/29 职场文书
解决WINDOWS电脑开机后桌面没有任何图标
2022/04/09 数码科技