设为首页 加入收藏

TOP

2.2.1.4 变量声明的语法
2013-10-07 14:17:45 来源: 作者: 【 】 浏览:69
Tags:2.2.1.4 变量 声明 语法

2.2.1.4   变量声明的语法

对“变量声明”的解释向来很模糊且自相矛盾,而理解它准确的含义对于正确的理解定义和阅读程序十分重要。变量声明告知编译器变量的外表特征。这好像是对编译器说:“我知道你以前没有看到过这名字,但我保证它一定在某个地方,它是X类型的变量。”

函数声明包括函数类型(即返回值类型)、函数名、参数列表和一个分号。这些信息使得编译器足以认出它是一个函数声明并可识别出这个函数的外部特征。由此推断,变量声明应该是类型标识后面跟一个标识符。例如:

 

可以声明变量a是一个整数,这符合上面的逻辑。但这就产生了一个矛盾:这段代码有足够的信息让编译器为整数a分配空间,而且编译器也确实给整数a分配了空间。要解决这个矛盾,对于C/C++(www.cppentry.com)需要一个关键字来说明“这只是一个声明,它的定义在别的地方”。这个关键字就是extern,它表示变量是在文件以外定义的,或在文件后面部分才定义。

在变量定义前加extern关键字表示声明一个变量但不定义它,例如:

 
extern也可用于函数声明。例如:
 

这种声明方式和先前的func1( )声明方式一样。因为没有函数体,编译器必定把它作为声明而不是函数定义。extern关键字对函数来说是多余的、可选的。C语言的设计者并不要求函数声明使用extern,这可能有些令人遗憾;如果函数声明也要求使用extern,那么在形式上与变量声明更加一致,从而减少了混乱(但这就需要更多的输入,这也许能解释为什么不要求函数使用extern的原因)。

下面是一些声明的例子:

 
函数声明时参数标识符是可选的。函数定义时则要求要有标识符(这里指C语言,而C++(www.cppentry.com)不要求)。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇2.2.3.2 秘密的附加模块 下一篇2.2.1.1 函数声明的语法

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: