C语言总结之解读C的声明
来源:互联网 发布:手机淘宝历史版本好用 编辑:程序博客网 时间:2024/05/17 06:00
1.引言
解读C的声明,最好的方法就是用英语来阅读,因为C语言是美国人开发的。
例如:
int (*pf)();
用英语来解读,则是:
pf is pointer to function return int
翻译成中文:
pf为指向返回int的函数的指针。
2 解读C声明的步骤(技巧)
阅读C语言声明的方法:机械地向前读。
在不考虑const和volatile的情况下,解读C语言的声明有一下步骤:
一、首先找到标识符(变量名或者函数名)。
二、从距离标识符最近的地方开始,一招优先顺序解释派生类型(指针、数组和函数)。优先顺序说明如下:
(1)用于整理声明内容的括弧
(2)用于表示数组的[],用于表示函数的()
(3)用于表示指针的*
三、解释完派生类型,使用“of”、“to”、和“return”将他们连接起来。
四、最后,追加数据类型修饰符(在左边,int、double等)。
3 示例
int (*func_p)(double);
一、首先找到标识符。
int (*func_p)(double);
英语的表达为:
func_p is
二、因为存在括号,所以着眼于*
int (*func_p)(double);
英语的表达为:
func_p is pointer to
三、解释用于函数的(),参数是double。
int(*func_p)(double);
英语的表达为:
func_p is pointer to function(double) returning
四、最后,解释数据类型修饰符int。
int (*func_p)(double);
英语的表达为:
func_p is pointer to function(double) returning int
五、翻译成中文:
func_p是指向返回int的函数的指针。
4.扩展
阅读C的指针声明还有一种是右左原则。这里只简单介绍一下:
右左法则:首先从最里面的圆括号看起,然后往右看,再往左看。每当遇到圆括号时,就应该掉转阅读方向。一旦解析完圆括号里面所有的东西,就跳出圆括号。重复这个过程直到整个声明解析完毕。
参考资料:
前桥和弥, 吴雅明. 征服C指针[M]. 人民邮电出版社, 2013.
- C语言总结之解读C的声明
- C语言 声明的一般 解读 方法
- 解读C的声明
- C语言声明解读规则
- C语言声明解读步骤
- C语言声明解读步骤
- C语言总结之基本声明
- 指针的概念、C指针声明解读之左右法则
- 指针的概念、C指针声明解读之左右法则
- 水滴石穿C语言之声明的语法
- 水滴石穿C语言之声明的语法
- 水滴石穿C语言之声明的语法
- 水滴石穿C语言之声明的语法
- C 语言之三 声明的语法
- 浅显理解之c语言的声明
- c语言的声明
- c语言的声明
- C语言的声明
- Form表单标签的Enctype属性
- iOS基础面试题(三)
- 类员函数的重载、覆盖和隐藏
- C++ const 总结
- iOS基础面试题(四)
- C语言总结之解读C的声明
- 单链表的基本操作
- WCF 服务IIS部署 SvcUtil.exe 工具文件地址 及 生成代理类命令
- 在Mac上创建octopress博客
- 内核request_mem_region 和 ioremap的理解
- 算法练习之水题
- c标签遍历集合嵌套的List集合
- 有时候需要VS重新生成解决方案
- UVA - 11292 Dragon of Loowater