Chinaunix首页 | 论坛 | 博客
  • 博客访问: 203312
  • 博文数量: 70
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 412
  • 用 户 组: 普通用户
  • 注册时间: 2013-08-30 11:07
文章分类

全部博文(70)

文章存档

2014年(68)

2013年(2)

我的朋友

分类: C/C++

2014-04-23 10:13:20

变量的定义用于为变量分配存储空间,还可以为变量指定初始值。在一个程序中,变量有且只有一个定义。声明用于向程序表明变量的类型和名字。定义也是声明:当定义边变量时我们声明了它的类型和名字。不定义变量的声明包括对象名、对象类型和和对象类型前的extern:

      extern int i;//声明但未定义

      int i;//声明并且定义

extern 声明不是定义,也不分配存储空间。事实上,它只是说明变量定义在程序的其他地方。一个程序中的变量可以有多次声明,但只能有一次定义。

只有当extern位于函数外部时,才可以含有初始化式:

      extern double pi = 3.1415;//声明也是定义

因为已经初始化的extern声明被当作定义,所以随后的定义也是错误的,例如:

      extern double pi = 3.1415;

      double pi;//错误,因为重复定义了

同样,随后的含有extern的初始化式也是错误的,例如:

      extern double pi = 3.1415;//声明也是定义

       extern double pi;//只是声明,可以,因为程序中一个变量可声明多次

       extern double pi = 3.1415;//不可以,带初始化的extern声明也相当于定义,已经定义过一次了

阅读(604) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~