变量与声明之间关系 小结

最近在看C++ primer ,对于变量与声明之间的关系有了一点自己的理解,特此写下,方便自己以后查找

1.变量的定义:变量的定义规定了变量的类型和名字,而且还申请了存储空间。也可能为变量赋初值。在作用域中,变量只能被定义一次

 

2变量的声明:用于规定变量的类型和名字.

比如说 

extern int i ;就是声明(表示变量定义在程序其他地方,声明在此就是为函数所知)

int i ;就是定义

 

二者区别与联系

(1)定义是声明的充分不必要条件

定义可推声明,声明不能反推定义。

(2)变量只能被定义一次,声明可以多次使用。

 

另外对于第二点,我想另外举个例子

我们在写循环时,有些情况多次定义了i,却编译通过了,如下。

,变量与声明之间关系 小结

这是为什么呢,我的理解是这样的,i的作用域不同,

在第一个for循环运行完了之后,i也相应的被release了,所以每个循环体内都需要被定义。