免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 5510 | 回复: 13

[C] 解读C语言声明的方法 [复制链接]

论坛徽章:
0
发表于 2006-01-06 10:45 |显示全部楼层
-------------------英文版----------------
The Precedence Rule for Understanding C Declarations
Step A : Declarations are read by starting with the name and then reading in precedence order.
Step B : The precedence, from high to low, is:
Step B.1 : parentheses grouping together parts of a declaration
Step B.2 : the postfix operators: parentheses () indicating a function, and square brackets [] indicating an array.
Step B.3 : the prefix operator: the asterisk denoting "pointer to".
Step C : If a const and/or volatile keyword is next to a type specifier (e.g. int, long, etc.) it
applies to the type specifier. Otherwise the const and/or volatile keyword applies to the
pointer asterisk on its immediate left.
------------------中文版-------------------
理解C语言声明的优先级规则
A  声明从它的名字开始读取,然后按照优先级顺序依次读取:
B  优先级从高到低依次是:
    B.1 声明中被括号括起来的那部分
    B.2 后缀操作符:
          括号()表示这是一个函数、而
          方括号[]表示这是一个数组。
    B.3 前缀操作符:星号*表示“指向…的指针”。
C  如果const和(或)volatile关键字的后面紧跟类型说明符(如int,long等),那么它作用于类型说明符。在其   他情况下,const和(或)volatile关键字作用于它左边紧邻的指针星号。

[ 本帖最后由 duke_gun 于 2006-1-10 10:28 编辑 ]

论坛徽章:
0
发表于 2006-01-06 14:00 |显示全部楼层
围绕C语言声明,有许多的问题。参照上述规则,十分复杂的C声明语法解析就有了规律可依。

论坛徽章:
0
发表于 2006-01-07 16:38 |显示全部楼层
Translate:
优先规则为了解C 声明
步骤A: 声明被读取由名字和读取优先次序开始。
步骤B: 优先次序, 从高到低依次是:
      步骤B.1: 用圆括号将声明的部分进行分组
      步骤B.2: postfix 操作符: 圆括号() 表明一个函数, 并且方括号[ ] 表明数组。
      步骤B.3: 前缀操作符: 星号表示 "指针指向" 。
步骤C: 如果const  (和或) 不稳定的关键词是类型指定成分(例如:int, long  等)它适用于类型指定成分。否则const  (和或) 不稳定关键词适用于星号在它的直接左边。

[ 本帖最后由 coolker 于 2006-1-7 16:43 编辑 ]

论坛徽章:
0
发表于 2006-01-07 21:51 |显示全部楼层
谢谢3楼翻译!!

论坛徽章:
0
发表于 2006-01-09 09:01 |显示全部楼层
3楼是个好心人。语句通顺的问题暂且抛开,有两处改善建议:
1、"不稳定的关键词"请保留volatile,不必翻译;
2、"类型指定成分"(type specifier)请翻译成"类型限定符",比较专业;
以上,请确认。

论坛徽章:
0
发表于 2006-01-09 11:40 |显示全部楼层
工具翻译的吧

看到有些中文版的书籍就头晕,原来以为是自己的问题,后来才知道是书籍的问题。

论坛徽章:
0
发表于 2006-01-10 10:30 |显示全部楼层
中文的说明也补上了。希望对大家有帮助。

论坛徽章:
0
发表于 2006-01-11 16:18 |显示全部楼层
干这行,E文是必备基础。

论坛徽章:
0
发表于 2009-01-07 11:01 |显示全部楼层
very good!
thanks!

论坛徽章:
0
发表于 2009-01-07 12:29 |显示全部楼层
原帖由 duke_gun 于 2006-1-11 16:18 发表
干这行,E文是必备基础。


要学的东西太多了,看倒E文就烦,根本就学不来
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP