C++ Primer 学习笔记4 变量和基本类型 (变量初始化规则、声明和定义)

当定义没有初始化的变量时,系统有时候会帮我们初始化变量。这时,系统提供什么样的值取决于变量的类型,也取决于变量定义的位置。
1、内置类型变量的初始化
内置类型变量是否自动初始化取决于变量定义的位置。在函数体外定义的变量都初始化为0,在函数体里定义的内置类型变量不进行自动初始化。除了用作赋值操作符的左操作数,未初始化的变量用作其他用途都是没定义的。未初始化引起的错误难以发现。

建议每个内置类型的对象都要初始化。虽然这样做并不总是必须的,但是更加容易和安全。

2、类类型变量初始化

类通过定义一个或多个构造函数来控制类对象的初始化。定义对象时如果没有提供初始化,则采用类的默认构造函数进行初始化。

 定义和声明

变量的定义为变量分配存储空间,还可以为变量指定初始值。在程序中变量有且仅有一个定义。

声明用于向程序表明变量的类型和名字,定义也是声明,也可以通过extern关键字来声明变量而不定义它。在使用变量之前必须定义或声明变量。

extern声明不是定义,也不分配存储空间。它只是说明变量定义在程序的其他地方。

程序中变量可以声明多次,但是只能定义一次。

extern int i;     //declares but dose not define i

int i;               //declares and defines i

作用域

1. 用来区分相同名字,可以在不同作用域中分别相同
2. 分为:全局、局部、语句

注:在变量首次使用的地方定义变量是个好习惯。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值