3 变量及其作用域

 欢迎来到@一夜看尽长安花 博客,您的点赞和收藏是我持续发文的动力

对于文章中出现的任何错误请大家批评指出,一定及时修改。有任何想要讨论的问题可联系我:3329759426@qq.com 。发布文章的风格因专栏而异,均自成体系,不足之处请大家指正。

    专栏:

文章概述:对变量及其作用域 的介绍

关键词:变量及其作用域

本文目录

变量及其作用域

全局变量

局部变量:

变量赋值

试试看,a b 现在值多少?

如何交换两个变量?

大括号作用域

变量及其作用域

变量好比一个小盒子,能容纳数据,有名字,有地址,有大小,类型。。。

两个重要概念:

  • 生存期:什么时候分配内存,什么时候释放内存
  • 作用域:在什么位置可见,什么位置不可见

全局变量

定义在函数外的变量,静态的生存期

  • 全局变量可以初始化,可以用表达式
  • 全局变量可以在多个函数间,多个文件间共享
  • 全局位置不能执行非定义语句
int a = 100;
int b = 200;
int c;
c = a + b; // 不声明,直接赋值会编译错误!


int main()
{
  cout << c << endl;
  return 0;
}

此是反面教材, 不能在全局位置执行其它语句

变量可以在声明时初始化,也可以只声明。 当未初始化时,变量的值是随机的,此是很多bug发源地

局部变量:

函数内部定义,函数执行时存在

局部变量可以和全局同名,会产生覆盖效果

变量赋值

赋值是最常见的动作,但其意义非凡!!

理解这个很重要,澄清将来的指针动作全靠它!

变量是一个小盒子,装着数据。 a = b; 的意思是:把 b 中的数据复制一份,放到 a 中。 a 中原来的数据被“踩死”了。

试试看,a b 现在值多少?

int a = 5, b = 8;
a = a + b;
b = a - b;
a = a - b;

cout << a << "," << b << endl;

如何交换两个变量?

如何交换:酱油和醋,找个空瓶子 空瓶 = 酱油;酱油 = 醋;醋 = 空瓶;

【示例】交换 a, b 变量的值

int a = 5, b = 8;
int t = a; a = b; b = t;
cout << a << "," << b << endl;

这样做,还有什么缺点吗?

大括号作用域

大括号开辟了,新的一层,嵌套作用域

  • 大括号作用域可以嵌套,实际上局部作用域就是最外一层大括号。
  • 大括号作用域可以嵌套覆盖
  • 编程习惯:尽量缩小变量的作用域。

更好的交换变量方法???

int a = 5, b = 8;
#缩小作用域
{ int t = a; a = b; b = t; }
cout << a << "," << b << endl;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值