C专家编程 三 C语言声明是如何形成的

C语言声明是如何形成的

        让我们先来看一些c语言的术语以及一些能组合成一个声明的牟.独语法成份。其中一个 非常重要的成份就是声明器(declarator)——它是所有声明的核心。简单地说,声明器就是标 识符以及与它组合在一起的任何指针、函数括号、数组下标等,如表3-1所示。为方便起见, 我们把初始化内容(initializer)也放到里面,并分类表示。


        一个声明由表3-2所示的各个部分组成(并非所有的组合形式都是合法的,但这个表描 述了我们进一步讨论所要用到的词汇)。声明确定了变量的基本类型以及初始值(如果有的 话)。


       让我们看一下如果你使用这些部件来构造一个声明,情况能够复杂到什么程度。同时要 记住,在合法的声明中存在限制条件。你不可以像下面那样做:

•函数的返回值不能是一个函数,所以像fbo〇〇这样是非法的。

•函数的返回值不能是一个数组,所以像foo()[]这样是非法的。

•数组里面不能有函数,所以像foo[]〇这样是非法的。

但像下面这样则是合法的:

•函数的返回值允许是一个函数指针,如:int(*fun())();

•函数的返回值允许是一个指向数组的指针,如:int(*foo〇)[]

•数组里面允许有函数指针,如im(*fo〇m〇

•数组里面允许有其他数组,所以你经常能看到intfc〇[][]

        


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值